page {
  background: #F8FAFE;
  font-family: -apple-system, BlinkMacSystemFont, 'PingFang SC', sans-serif;
  color: #1A1A1A;
}

/* .page-bg 与全局相同，仅保留差异 */
.page-bg {
  opacity: 0.42;
}

.unreg-area {
  position: relative;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 100vh;
  padding: 0 40rpx;
}

.unreg-card {
  width: 100%;
  background: rgba(255, 255, 255, 0.78);
  backdrop-filter: blur(25rpx);
  border-radius: 32rpx;
  padding: 40rpx 32rpx;
  box-shadow: 0 12rpx 40rpx rgba(0, 0, 0, 0.05);
  border: 1rpx solid rgba(255, 255, 255, 0.6);
}

.unreg-title,
.section-title {
  font-size: 30rpx;
  font-weight: 700;
  color: #1A1A1A;
  display: block;
  margin-bottom: 16rpx;
}

.section-title-sm {
  font-size: 26rpx;
  margin-bottom: 12rpx;
  color: #444;
}

/* .unreg-input 与 .input-rounded 类似，仅保留差异 */
.unreg-input {
  height: 80rpx;
  border-radius: 40rpx;
  margin-bottom: 16rpx;
}

.ph { color: #999; }

/* .unreg-btn 与 .btn .btn-secondary 类似，仅保留差异 */
.unreg-btn {
  width: 100%;
  height: 80rpx;
  background: rgba(255, 255, 255, 0.65);
  border-radius: 40rpx;
  border: 1rpx solid rgba(0, 0, 0, 0.06);
  margin-bottom: 16rpx;
}

/* .unreg-btn-secondary 与 .btn-secondary 类似，仅保留差异 */
.unreg-btn-secondary {
  margin-bottom: 0;
  background: rgba(255, 255, 255, 0.45);
}

.unreg-btn-text {
  font-size: 28rpx;
  font-weight: 600;
}

.unreg-clear {
  display: flex;
  align-items: center;
  justify-content: center;
  margin-top: 28rpx;
  padding-top: 20rpx;
  border-top: 1rpx solid rgba(0, 0, 0, 0.05);
}

.unreg-clear-icon {
  width: 28rpx;
  height: 28rpx;
  margin-right: 10rpx;
  opacity: 0.65;
}

.unreg-clear-text {
  font-size: 22rpx;
  color: #888;
}

.main-body {
  position: relative;
  z-index: 2;
  padding: 0 24rpx 150rpx;
}

/* .refresh-btn 与全局 .refresh-btn .refresh-btn--light 完全相同，删除 */

/* .refresh-icon 与全局 .refresh-icon 完全相同，删除 */

.user-card {
  position: relative;
  margin-top: 48rpx;
  margin-bottom: 20rpx;
  border-radius: 28rpx;
  overflow: hidden;
  min-height: 120rpx;
  box-shadow: 0 8rpx 28rpx rgba(0, 0, 0, 0.06);
}

.user-card-bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 0;
}

.user-card-inner {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  padding: 20rpx 24rpx;
  background: rgba(255, 255, 255, 0.72);
  backdrop-filter: blur(12rpx);
}

/* .user-avatar 与 .avatar-circle .avatar-md 类似，仅保留差异 */
.user-avatar {
  margin-right: 20rpx;
}

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

.name-row {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  margin-bottom: 8rpx;
}

.user-name {
  font-size: 30rpx;
  font-weight: 700;
  margin-right: 6rpx;
}

.role-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 2rpx;
  align-items: center;
  margin-left: 2rpx;
}

.role-tag {
  font-size: 18rpx;
  padding: 4rpx 12rpx;
  border-radius: 12rpx;
  font-weight: 600;
  line-height: 1.35;
  border: 1rpx solid transparent;
}

.role-tag-dashou { background: #e8edf3; color: #2c3e50; border-color: #b8c4d0; }
.role-tag-guanshi { background: #edf0ea; color: #3d5238; border-color: #c2d0bc; }
.role-tag-zuzhang { background: #f0ece8; color: #5c4a38; border-color: #d4c8b8; }
.role-tag-kaohe { background: #eceef3; color: #3a4460; border-color: #c0c8d8; }

.uid-row {
  display: inline-flex;
  align-items: center;
  background: rgba(0, 0, 0, 0.03);
  border-radius: 20rpx;
  padding: 4rpx 14rpx;
}

.uid-text { font-size: 22rpx; margin-right: 8rpx; }
.copy-icon { width: 22rpx; height: 22rpx; }

.badge-zone { margin-bottom: 12rpx; }
.badge-scroll { white-space: nowrap; }
.badge-scroll-sub { margin-top: 6rpx; }

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

.section-card { margin-bottom: 22rpx; }
.section-last { margin-bottom: 32rpx; }

.section-head-line {
  display: flex;
  align-items: center;
  margin-bottom: 12rpx;
}

.section-head-icon {
  width: 32rpx;
  height: 32rpx;
  margin-right: 8rpx;
  opacity: 0.88;
}

.section-title-sm {
  font-size: 22rpx;
  margin-bottom: 0;
  color: #555;
  font-weight: 600;
}

/* 黑卡 VIP */
.vip-black-card {
  position: relative;
  height: 152rpx;
  border-radius: 28rpx;
  overflow: hidden;
  margin-bottom: 16rpx;
  box-shadow: 0 12rpx 40rpx rgba(20, 20, 24, 0.18);
}

.vip-black-bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 0;
}

.vip-black-overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
  background: linear-gradient(135deg, rgba(18, 18, 22, 0.72) 0%, rgba(38, 38, 44, 0.55) 100%);
  pointer-events: none;
}

.vip-black-body {
  position: relative;
  z-index: 2;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 28rpx;
  box-sizing: border-box;
}

.vip-black-text {
  flex: 1;
  min-width: 0;
}

.vip-black-title {
  display: block;
  font-size: 30rpx;
  font-weight: 700;
  color: #f3ead8;
  letter-spacing: 1rpx;
}

.vip-black-sub {
  display: block;
  font-size: 20rpx;
  color: rgba(243, 234, 216, 0.62);
  margin-top: 6rpx;
}

.vip-black-action {
  flex-shrink: 0;
  padding: 14rpx 28rpx;
  background: linear-gradient(135deg, rgba(243, 234, 216, 0.22) 0%, rgba(243, 234, 216, 0.1) 100%);
  border: 1rpx solid rgba(243, 234, 216, 0.35);
  border-radius: 999rpx;
}

.vip-black-go {
  font-size: 24rpx;
  font-weight: 600;
  color: #f3ead8;
}

/* 资产面板 */
.asset-panel {
  position: relative;
  border-radius: 28rpx;
  overflow: hidden;
  box-shadow: 0 12rpx 40rpx rgba(26, 43, 80, 0.1);
  border: 1rpx solid rgba(212, 175, 110, 0.28);
}

.asset-panel-fallback {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 0;
  background: linear-gradient(145deg, #faf6ee 0%, #ece4d4 45%, #e6edf8 100%);
}

.asset-panel-bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
}

.asset-panel-inner {
  position: relative;
  z-index: 2;
  padding: 20rpx 18rpx 14rpx;
  background: rgba(255, 255, 255, 0.62);
  backdrop-filter: blur(20rpx);
}

.asset-panel-head {
  display: flex;
  align-items: center;
  margin-bottom: 14rpx;
}

.asset-panel-head-icon {
  width: 30rpx;
  height: 30rpx;
  margin-right: 8rpx;
}

.asset-panel-head-title {
  font-size: 28rpx;
  font-weight: 700;
  color: #222;
}

.money-strip {
  display: flex;
  gap: 12rpx;
  margin-bottom: 14rpx;
  overflow-x: auto;
}

.money-block {
  flex: 1;
  min-width: 200rpx;
  border-radius: 20rpx;
  padding: 16rpx 14rpx;
  background: rgba(0, 0, 0, 0.025);
  border: 1rpx solid rgba(0, 0, 0, 0.05);
}

.money-label {
  font-size: 20rpx;
  color: #888;
  display: block;
}

.money-val {
  font-size: 34rpx;
  font-weight: 800;
  display: block;
  margin: 6rpx 0 4rpx;
  line-height: 1.15;
  color: #1A1A1A;
}

.money-tip {
  font-size: 18rpx;
  color: #AAA;
}

.stats-grid {
  display: flex;
  flex-wrap: wrap;
  border-top: 1rpx solid rgba(0, 0, 0, 0.05);
  padding-top: 12rpx;
}

.mini-stat {
  width: 20%;
  text-align: center;
  padding: 8rpx 0;
  box-sizing: border-box;
}

.mini-val {
  font-size: 24rpx;
  font-weight: 700;
  color: #333;
  display: block;
}

.mini-lbl {
  font-size: 18rpx;
  color: #999;
  display: block;
  margin-top: 4rpx;
}

/* 排行榜 */
.rank-section {
  margin-bottom: 22rpx;
  padding: 0 2rpx;
}

.rank-hub-head {
  display: flex;
  align-items: center;
  margin-bottom: 18rpx;
}

.rank-hub-head-icon {
  width: 32rpx;
  height: 32rpx;
  margin-right: 10rpx;
}

.rank-hub-title {
  font-size: 28rpx;
  font-weight: 700;
  color: #222;
  display: block;
}

.rank-hub-sub {
  font-size: 20rpx;
  color: #999;
  margin-top: 2rpx;
  display: block;
}

.rank-grid {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  row-gap: 18rpx;
}

.rank-cell {
  width: 48.5%;
  height: 156rpx;
  position: relative;
  border-radius: 24rpx;
  overflow: hidden;
  filter: drop-shadow(0 8rpx 18rpx rgba(0, 0, 0, 0.08));
}

.rank-shape-left {
  clip-path: polygon(
    0 8%,
    5% 0,
    95% 0,
    100% 5%,
    87% 95%,
    5% 100%,
    0 92%
  );
}

.rank-shape-right {
  clip-path: polygon(
    14% 5%,
    5% 0,
    95% 0,
    100% 5%,
    100% 95%,
    95% 100%,
    5% 100%,
    0 95%,
    14% 8%
  );
}

.rank-cell-inner {
  width: 100%;
  height: 100%;
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  padding: 0 22rpx 0 20rpx;
  box-sizing: border-box;
  border-radius: 24rpx;
  overflow: hidden;
}

.rank-bg-icon {
  position: absolute;
  width: 148rpx;
  height: 148rpx;
  right: -18rpx;
  top: 50%;
  transform: translateY(-50%) rotate(-10deg);
  opacity: 0.2;
  z-index: 0;
  pointer-events: none;
}

.rank-content {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
}

.rank-main-icon {
  width: 76rpx;
  height: 76rpx;
  margin-bottom: 8rpx;
  filter: drop-shadow(0 6rpx 16rpx rgba(0, 0, 0, 0.22));
}

.rank-shape-right .rank-cell-inner {
  padding: 0 20rpx 0 28rpx;
  align-items: flex-end;
}

.rank-shape-right .rank-bg-icon {
  right: auto;
  left: -18rpx;
  transform: translateY(-50%) rotate(10deg);
}

.rank-shape-right .rank-content {
  align-items: flex-end;
}

.rank-theme-blue .rank-cell-inner {
  background: linear-gradient(135deg, #7ec4ff 0%, #4d9ef5 55%, #3b82e8 100%);
}

.rank-theme-gold .rank-cell-inner {
  background: linear-gradient(135deg, #ffe28a 0%, #ffc94d 55%, #f5a623 100%);
}

.rank-theme-purple .rank-cell-inner {
  background: linear-gradient(135deg, #c4b5fd 0%, #9b87f5 55%, #7c6be8 100%);
}

.rank-theme-orange .rank-cell-inner {
  background: linear-gradient(135deg, #ffb896 0%, #ff8f6b 55%, #f56a4a 100%);
}

.rank-cell-name {
  font-size: 26rpx;
  font-weight: 700;
  color: #fff;
  text-shadow: 0 1rpx 4rpx rgba(0, 0, 0, 0.15);
  line-height: 1.2;
}

.rank-cell-sub {
  font-size: 18rpx;
  color: rgba(255, 255, 255, 0.88);
  margin-top: 2rpx;
}

.rank-shape-right .rank-cell-name,
.rank-shape-right .rank-cell-sub {
  text-align: right;
}

/* 功能面板 */
.func-panel {
  position: relative;
  border-radius: 28rpx;
  overflow: hidden;
  box-shadow: 0 6rpx 24rpx rgba(0, 0, 0, 0.04);
}

.func-panel-bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 0;
}

.func-grid {
  position: relative;
  z-index: 1;
  display: flex;
  flex-wrap: wrap;
  padding: 10rpx 4rpx;
  background: rgba(255, 255, 255, 0.85);
  backdrop-filter: blur(12rpx);
}

.func-cell {
  width: 25%;
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 16rpx 0;
  box-sizing: border-box;
}

.func-icon {
  width: 52rpx;
  height: 52rpx;
  margin-bottom: 10rpx;
}

.func-label {
  font-size: 20rpx;
  color: #444;
  text-align: center;
  line-height: 1.25;
  padding: 0 4rpx;
}

.func-grid-sparse .func-cell {
  width: 25%;
  padding: 22rpx 0;
}

.func-grid-sparse .func-icon {
  width: 58rpx;
  height: 58rpx;
  margin-bottom: 12rpx;
}

.func-grid-sparse .func-label {
  font-size: 24rpx;
}

.layout-sparse-padding {
  padding-bottom: 80rpx;
}

.money-strip-single .money-block {
  min-width: 100%;
}

.money-strip-single .money-val {
  font-size: 44rpx;
}

.auth-inline {
  display: flex;
  align-items: center;
  gap: 12rpx;
  background: rgba(255, 255, 255, 0.72);
  border-radius: 24rpx;
  padding: 12rpx 16rpx;
  border: 1rpx solid rgba(255, 255, 255, 0.5);
}

.auth-input {
  flex: 1;
  height: 64rpx;
  background: #fff;
  border-radius: 32rpx;
  padding: 0 24rpx;
  font-size: 26rpx;
}

.auth-btn {
  flex-shrink: 0;
  height: 64rpx;
  line-height: 64rpx;
  padding: 0 28rpx;
  background: rgba(0, 0, 0, 0.06);
  border-radius: 32rpx;
  font-size: 26rpx;
  font-weight: 600;
}

/* .list-card 与 .card 类似，仅保留差异 */
.list-card {
  position: relative;
  border-radius: 28rpx;
  box-shadow: 0 6rpx 24rpx rgba(0, 0, 0, 0.04);
}

.list-card-bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 0;
}

.list-card-inner {
  position: relative;
  z-index: 1;
  background: rgba(255, 255, 255, 0.88);
  backdrop-filter: blur(12rpx);
}

/* .list-item 与全局 .list-item 类似，仅保留差异 */
.list-item {
  padding: 22rpx 20rpx;
}

.list-item:last-child { border-bottom: none; }

/* .list-icon 与全局 .list-icon 类似，仅保留差异（缺少 flex-shrink:0） */
.list-icon {
  width: 36rpx;
  height: 36rpx;
  margin-right: 16rpx;
}

/* .list-text 与全局 .list-text 类似，仅保留差异 */
.list-text {
  font-size: 26rpx;
}

.list-sub {
  font-size: 20rpx;
  color: #999;
  margin-right: 8rpx;
}

/* .list-arrow 与全局 .list-arrow 类似，仅保留差异 */
.list-arrow {
  opacity: 0.45;
}

/* 客服入口 */
.kefu-banner {
  position: relative;
  margin-bottom: 18rpx;
  border-radius: 28rpx;
  overflow: hidden;
  box-shadow: 0 10rpx 32rpx rgba(44, 62, 80, 0.14);
}

.kefu-banner-bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 0;
}

.kefu-banner-overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
  background: linear-gradient(135deg, rgba(36, 48, 62, 0.82) 0%, rgba(52, 68, 88, 0.68) 100%);
}

.kefu-banner-content {
  position: relative;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 22rpx 24rpx;
}

.kefu-banner-left {
  display: flex;
  align-items: center;
  flex: 1;
  min-width: 0;
}

.kefu-banner-icon {
  width: 44rpx;
  height: 44rpx;
  margin-right: 16rpx;
  flex-shrink: 0;
}

.kefu-banner-title {
  display: block;
  font-size: 28rpx;
  font-weight: 700;
  color: #fff;
}

.kefu-banner-sub {
  display: block;
  font-size: 20rpx;
  color: rgba(255, 255, 255, 0.72);
  margin-top: 4rpx;
}

.kefu-banner-btn {
  flex-shrink: 0;
  padding: 12rpx 26rpx;
  font-size: 24rpx;
  color: #2c3e50;
  font-weight: 600;
  background: rgba(255, 255, 255, 0.92);
  border-radius: 999rpx;
  margin-left: 16rpx;
}

/* 总资产 */
.total-asset-row {
  position: relative;
  border-radius: 24rpx;
  overflow: hidden;
  margin-bottom: 14rpx;
  border: 1rpx solid rgba(212, 175, 110, 0.38);
  box-shadow: inset 0 1rpx 0 rgba(255, 255, 255, 0.85), 0 4rpx 16rpx rgba(0, 0, 0, 0.05);
}

.total-asset-fallback {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 0;
  background: linear-gradient(135deg, #faf6ee 0%, #f0e8d8 50%, #ebeef5 100%);
}

.total-asset-bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
}

.total-asset-inner {
  position: relative;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 22rpx 20rpx;
  background: rgba(255, 255, 255, 0.52);
  backdrop-filter: blur(14rpx);
}

.total-asset-left {
  flex: 1;
  min-width: 0;
  padding-right: 16rpx;
}

.total-asset-label {
  display: block;
  font-size: 22rpx;
  color: #777;
}

.total-asset-val {
  display: block;
  font-size: 46rpx;
  font-weight: 800;
  color: #3d3420;
  margin: 6rpx 0 10rpx;
  line-height: 1.1;
  letter-spacing: -0.5rpx;
}

.asset-breakdown-list {
  display: flex;
  flex-direction: column;
  gap: 4rpx;
}

.asset-breakdown-line {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding-right: 8rpx;
}

.breakdown-name {
  font-size: 20rpx;
  color: #888;
}

.breakdown-amt {
  font-size: 20rpx;
  color: #666;
  font-weight: 500;
}

/* .withdraw-btn 与 .btn-sm--dark 类似，仅保留差异 */
.withdraw-btn {
  flex-shrink: 0;
  min-width: 120rpx;
  height: 72rpx;
  line-height: 72rpx;
  text-align: center;
  padding: 0 28rpx;
  font-weight: 700;
  border-radius: 999rpx;
  box-shadow: 0 6rpx 20rpx rgba(44, 62, 80, 0.22);
}

.auth-grid-dynamic {
  flex-wrap: wrap;
  justify-content: flex-start;
  gap: 0 24rpx;
}

.auth-grid-dynamic .auth-cell {
  width: auto;
  flex: 0 0 auto;
  min-width: 140rpx;
  box-sizing: border-box;
}

/* 身份认证 */
.auth-grid {
  position: relative;
  z-index: 1;
  display: flex;
  padding: 12rpx 8rpx;
  background: rgba(255, 255, 255, 0.88);
  backdrop-filter: blur(12rpx);
}

.auth-cell {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 14rpx 6rpx;
}

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

.auth-cell-name {
  font-size: 22rpx;
  color: #444;
  margin-bottom: 6rpx;
}

.auth-cell-tag {
  font-size: 18rpx;
  color: #888;
  padding: 2rpx 10rpx;
  border-radius: 999rpx;
  background: rgba(0, 0, 0, 0.04);
}

.auth-cell-tag-done {
  color: #5a6b57;
  background: rgba(90, 107, 87, 0.1);
}

/* .loading-mask 与全局 .loading-mask .loading-mask--light 完全相同，删除 */

/* .loading-spinner 与 .spinner--md 类似，仅保留差异 */
.loading-spinner {
  width: 52rpx;
  height: 52rpx;
  border: 3rpx solid rgba(0, 0, 0, 0.08);
  border-top-color: #1A1A1A;
}
