/* 打手端个人中心 - 逍遥梦 UI（逻辑不变） */
@import '../../styles/dashou-xym-user.wxss';

page {
  background: #fff8e1;
  color: #333;
}

.flex { display: flex; align-items: center; }
.flexb { display: flex; align-items: center; justify-content: space-between; }
.flexa { display: flex; align-items: center; justify-content: space-around; }
.flexmc { display: flex; flex-direction: column; align-items: center; justify-content: center; }

.user-page {
  height: 100vh;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  box-sizing: border-box;
  background: linear-gradient(180deg, #f7dc51 0%, #fff 28%, #fff8e1 100%);
  position: relative;
}

.page-header {
  position: relative;
  z-index: 2;
  flex-shrink: 0;
  background: linear-gradient(180deg, #f7dc51 0%, #ffd061 100%);
}

.status-bar,
.nav-bar,
.content,
.unreg-area {
  position: relative;
  z-index: 2;
}

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

.nav-bar-actions {
  position: relative;
  justify-content: center;
}

.nav-refresh-ico {
  position: absolute;
  right: 24rpx;
  width: 44rpx;
  height: 44rpx;
  padding: 8rpx;
}

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

.content {
  flex: 1;
  height: 0;
  padding-bottom: 0;
}

.refresh-float {
  position: fixed;
  right: 24rpx;
  top: calc(env(safe-area-inset-top) + 100rpx);
  z-index: 10;
  width: 56rpx;
  height: 56rpx;
  background: rgba(255, 255, 255, 0.85);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 4rpx 12rpx rgba(0, 0, 0, 0.08);
}

.refresh-float-ico {
  width: 32rpx;
  height: 32rpx;
}

.user-info {
  padding: 10rpx 30rpx;
}

.avatar {
  width: 110rpx;
  height: 110rpx;
  border-radius: 50%;
  border: 4rpx solid #f1f7ff;
  margin-right: 20rpx;
  flex-shrink: 0;
}

.nickname {
  font-size: 38rpx;
  font-weight: 700;
  color: #222;
}

.nickname-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8rpx;
}

.role-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 6rpx;
}

.role-tag {
  font-size: 20rpx;
  padding: 2rpx 12rpx;
  border-radius: 8rpx;
  background: linear-gradient(180deg, #fae04d, #ffc0a3);
  color: #492f00;
}

.sn-row {
  display: flex;
  align-items: center;
  margin-top: 8rpx;
}

.sn {
  color: #999;
  font-size: 24rpx;
}

.copy-ico {
  width: 24rpx;
  height: 24rpx;
  margin-left: 8rpx;
  opacity: 0.6;
}

.user-header-actions {
  display: flex;
  align-items: center;
  gap: 16rpx;
  flex-shrink: 0;
}

.header-action-ico {
  width: 48rpx;
  height: 48rpx;
  padding: 6rpx;
  flex-shrink: 0;
}

.setting-ico {
  width: 53rpx;
  height: 53rpx;
  flex-shrink: 0;
}

.badge-zone {
  padding: 0 24rpx 8rpx;
}

.badge-scroll {
  white-space: nowrap;
  width: 100%;
}

.badge-tag-wrap {
  display: inline-block;
  transform: scale(0.72);
  transform-origin: left center;
  margin-right: -8rpx;
}

.deposit-tag {
  margin-left: 8rpx;
  font-size: 20rpx;
  padding: 4rpx 12rpx;
  border-radius: 8rpx;
  background: linear-gradient(90deg, #e8c547, #8b6914);
  color: #fff;
}

.wallet-card {
  margin: 15rpx 30rpx 0;
  padding: 24rpx 20rpx;
  border-radius: 26rpx;
  background: #fef6d4;
  align-items: center;
}

.wallet-left {
  flex: 1;
  min-width: 0;
}

.w-label {
  color: #666;
  font-size: 26rpx;
}

.w-num {
  font-size: 44rpx;
  font-weight: 700;
  color: #222;
  margin-top: 10rpx;
}

.w-sub {
  color: #666;
  font-size: 26rpx;
  margin-top: 8rpx;
}

.wallet-btns {
  flex-shrink: 0;
}

.wallet-btns .btn-outline {
  margin-left: 12rpx;
}

.btn-outline {
  padding: 10rpx 24rpx;
  font-size: 26rpx;
  font-weight: 700;
  border: 2rpx solid #fff;
  border-radius: 60rpx;
  background: linear-gradient(180deg, #fae04d, #ffc0a3);
  color: #492f00;
  white-space: nowrap;
}

.banner-row {
  margin: 20rpx 24rpx 0;
  align-items: flex-start;
}

.banner-row .banner-img {
  width: 48%;
  height: auto;
  display: block;
  border-radius: 16rpx;
  overflow: hidden;
  background: transparent;
}

.banner-row .banner-img:first-child {
  margin-right: 2%;
}

.recharge-text-row {
  margin: 20rpx 24rpx 0;
  gap: 16rpx;
}

.recharge-text-btn {
  flex: 1;
  text-align: center;
  padding: 22rpx 12rpx;
  border-radius: 16rpx;
  font-size: 28rpx;
  font-weight: 600;
  color: #492f00;
  background: linear-gradient(180deg, #fff8e1, #ffe8b8);
  border: 1rpx solid rgba(201, 169, 98, 0.45);
}

.freeze-row {
  margin: 16rpx 30rpx 0;
  padding: 20rpx 10rpx;
  border-radius: 15rpx;
  background: #fef6d4;
}

.freeze-col {
  flex: 1;
  min-width: 0;
}

.freeze-num {
  font-size: 32rpx;
  font-weight: 700;
  color: #7e893c;
}

.freeze-lbl {
  font-size: 24rpx;
  color: #7e893c;
  font-weight: 700;
  margin-top: 4rpx;
}

.btn-bg {
  background: linear-gradient(180deg, #fae04d, #ffc0a3);
  border-radius: 30px;
  color: #492f00;
}

.withdraw {
  padding: 14rpx 28rpx;
  font-size: 26rpx;
  font-weight: 700;
  border: 2rpx solid #fff;
  flex-shrink: 0;
  margin-left: 16rpx;
}

.vip-strip {
  margin: 16rpx 30rpx 0;
  padding: 20rpx 24rpx;
  border-radius: 20rpx;
  background: linear-gradient(135deg, #3d3428, #1a1a2e);
}

.vip-strip-title {
  display: block;
  font-size: 28rpx;
  font-weight: 700;
  color: #fcd270;
}

.vip-strip-sub {
  display: block;
  font-size: 22rpx;
  color: rgba(252, 210, 112, 0.65);
  margin-top: 4rpx;
}

.vip-strip-btn {
  padding: 10rpx 24rpx;
  font-size: 24rpx;
  font-weight: 700;
}

.panel {
  margin: 20rpx 20rpx 12rpx;
  background: #fdfcfa;
  border-radius: 20rpx;
  padding: 20rpx 10rpx 10rpx;
}

.shadow {
  box-shadow: 0 3px 10px rgba(0, 0, 0, 0.06);
}

.panel-title {
  padding: 8rpx 25rpx 10rpx;
}

.lg {
  font-size: 32rpx;
  font-weight: 700;
  color: #343434;
}

.order-nav {
  padding: 10rpx 0 20rpx;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: flex-start;
}

.nav-item {
  width: 20%;
  box-sizing: border-box;
  padding: 10rpx 0;
  position: relative;
}

.exam-tag {
  font-size: 20rpx;
  margin-top: 4rpx;
  padding: 2rpx 10rpx;
  border-radius: 8rpx;
}

.exam-tag-pass {
  color: #52c41a;
  background: rgba(82, 196, 26, 0.12);
}

.exam-tag-pending {
  color: #fa8c16;
  background: rgba(250, 140, 16, 0.12);
}

.nav-icon {
  width: 62rpx;
  height: 62rpx;
  margin-bottom: 10rpx;
  border-radius: 16rpx;
}

.sm {
  font-size: 24rpx;
  color: #666;
}

.func-grid {
  display: flex;
  flex-wrap: wrap;
  padding: 10rpx 0;
}

.func-item {
  width: 25%;
  padding: 20rpx 0;
}

.func-icon {
  width: 48rpx;
  height: 48rpx;
  margin-bottom: 8rpx;
}

.func-txt {
  font-size: 24rpx;
  color: #666;
  text-align: center;
}

.func-tag {
  font-size: 20rpx;
  color: #bbb;
  margin-top: 4rpx;
}

.func-tag-done {
  color: #c9a962;
}

.rank-hub-tip {
  font-size: 22rpx;
  color: #999;
  font-weight: 500;
}

.rank-hub-scroll {
  width: 100%;
  white-space: nowrap;
}

.rank-hub-track {
  display: inline-flex;
  padding: 8rpx 16rpx 20rpx;
  gap: 16rpx;
}

.rank-tile {
  display: inline-block;
  width: 280rpx;
  border-radius: 20rpx;
  overflow: hidden;
  box-shadow: 0 6rpx 20rpx rgba(0, 0, 0, 0.1);
}

.rank-tile-inner {
  display: flex;
  align-items: center;
  padding: 24rpx 20rpx;
  min-height: 120rpx;
  box-sizing: border-box;
}

.rank-tile-icon {
  width: 64rpx;
  height: 64rpx;
  border-radius: 16rpx;
  background: rgba(255, 255, 255, 0.25);
  flex-shrink: 0;
  margin-right: 16rpx;
}

.rank-tile-text {
  flex: 1;
  min-width: 0;
}

.rank-tile-name {
  display: block;
  font-size: 28rpx;
  font-weight: 700;
  color: #fff;
}

.rank-tile-sub {
  display: block;
  font-size: 22rpx;
  color: rgba(255, 255, 255, 0.82);
  margin-top: 6rpx;
}

.rank-tile-go {
  font-size: 22rpx;
  color: rgba(255, 255, 255, 0.9);
  font-weight: 600;
  flex-shrink: 0;
  padding: 6rpx 14rpx;
  border-radius: 20rpx;
  background: rgba(255, 255, 255, 0.2);
}

.rank-theme-blue {
  background: linear-gradient(135deg, #3d6eb5 0%, #6ba3f7 100%);
}

.rank-theme-gold {
  background: linear-gradient(135deg, #a8842a 0%, #f5d563 100%);
}

.rank-theme-gold .rank-tile-name,
.rank-theme-gold .rank-tile-sub,
.rank-theme-gold .rank-tile-go {
  color: #3d2a00;
}

.rank-theme-purple {
  background: linear-gradient(135deg, #6b4fbf 0%, #9b7fe8 100%);
}

.rank-theme-orange {
  background: linear-gradient(135deg, #d4652a 0%, #f5a962 100%);
}

/* 未注册 */
.unreg-page .unreg-area {
  flex: 1;
  padding: 40rpx 30rpx 16rpx;
  overflow-y: auto;
}

.unreg-card {
  padding: 40rpx 30rpx !important;
}

.unreg-title {
  font-size: 32rpx;
  font-weight: 700;
  display: block;
  text-align: center;
  margin-bottom: 24rpx;
}

.unreg-input {
  height: 80rpx;
  border-radius: 12rpx;
  margin-bottom: 20rpx;
  background: #f7f7f7;
  padding: 0 24rpx;
  font-size: 28rpx;
  border: 1rpx solid #eee;
}

.ph { color: #bbb; }

.unreg-btn {
  text-align: center;
  padding: 20rpx;
  font-size: 28rpx;
  font-weight: 700;
  margin-bottom: 16rpx;
}

.unreg-btn-text { color: #492f00; }

.unreg-btn-secondary {
  text-align: center;
  padding: 18rpx;
  font-size: 26rpx;
  color: #666;
  background: #f5f5f5;
  border-radius: 12rpx;
  margin-bottom: 12rpx;
}

.unreg-link {
  text-align: center;
  padding: 16rpx;
  font-size: 24rpx;
  color: #999;
}

.loading-mask {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(255, 255, 255, 0.6);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 999;
}

.loading-spinner {
  width: 60rpx;
  height: 60rpx;
  border: 4rpx solid rgba(0, 0, 0, 0.08);
  border-top-color: #ffd061;
  border-radius: 50%;
  animation: fighterSpin 0.8s linear infinite;
}

@keyframes fighterSpin {
  to { transform: rotate(360deg); }
}
