@charset "UTF-8";
/* ==========================================================================
   千岩服务平台 · H5 基础样式（**由小程序 WXSS 自动生成，请勿手改**）
   --------------------------------------------------------------------------
   来源：weapp/miniprogram/ 下的 WXSS（app.wxss + 各页面 wxss + 自定义 tabBar）
   生成：node tools-docs/build/wxss-to-css.js

   为什么是自动生成：
     H5 的界面必须与小程序**外观一致**（用户明确要求"移动端保留原小程序样式"）。
     手抄 WXSS 必然抄错，且小程序样式更新后 H5 会静默跑偏。
     所以采用"机器转换"，保持源码单一来源 —— 改小程序样式后重新生成即可。

   转换规则：
     · rpx → px（数值 ÷ 2；小程序 750rpx == 375px 视口）
     · 标签选择器映射：page→:root,body / view→div / text→span / image→img /
       scroll-view→.scroll-view / swiper→.swiper / swiper-item→.swiper-item
     · 类选择器（.foo）**原样保留** —— 因此 H5 的 DOM 必须使用与小程序的同名 class
     · 本文件**在所有宽度生效**（作为基础样式）；
       宽屏布局由 desktop.css 在其后覆盖（不做"两套 UI"，而是同一设计的放大版）

   ⚠️ 不要直接编辑本文件：改动会在下次生成时被覆盖。
      要调整外观，请改 weapp/miniprogram 下的 WXSS，然后重新生成。
   ========================================================================== */

/* ==========================================================================
   H5 适配修正（WXSS → CSS 的必要差异，**每一条都有原因，勿删**）
   ========================================================================== */

/* ① 小程序里 `page` 本身就是滚动容器，height:100vh 表示"视口高"；
      浏览器里滚动容器是 document，给 body 设死高会让整页渐变背景只铺满首屏，
      滚动到下面就是白的。改为 min-height，并让 html 撑满。 */
html { min-height: 100%; }
body { height: auto; min-height: 100vh; }

/* ② 小程序 tabBar 是原生的、不占文档流，所以 app.wxss 用 padding-bottom 给它让位。
      H5 的 tabBar 是 fixed 定位，行为一致，因此**保留**这个 padding ——
      这里只补一条安全区，避免 iOS 上最后一行内容被 tabBar 压住。 */
.tab-bar-wrapper { padding-bottom: env(safe-area-inset-bottom); }

/* ③ 渐变背景：小程序里 page 是滚动容器，视觉上"渐变固定、内容在其上滚动"。
      浏览器里用 fixed 附件复刻这一观感。 */
body {
  background-repeat: no-repeat;
  background-attachment: fixed;
  background-size: cover;
}

/* ④ img 默认是 inline，会产生基线空隙导致卡片底部多出几像素（小程序 image 是 block）。
      用属性选择器限定为"有 class 的图片"，避免影响富文本里的行内小图。 */
img[class] { display: block; }

/* ⑤ 表单元素继承字体（WXSS 里  input 天然继承，浏览器不会）。 */
input, button, textarea, select { font-family: inherit; }

/* ⑥ H5 专有交互组件（弹窗/提示/加载）与小程序原生 API 对应，
      它们的样式由 app.css 提供，这里只确保层级高于 tabBar。 */
#toast-host, .modal-mask { z-index: 1000000; }

/* ==================== app.wxss —— 全局变量与通用组件（全局） ==================== */
/* app.wxss - 全局样式 */

/* 主题色变量 - 蓝色渐变主题 */
:root, body {
  --bg-primary: #C3EDFC;
  --bg-secondary: #498AC7;
  --bg-card: rgba(255, 255, 255, 0.7);
  --text-primary: #1a1a2e;
  --text-secondary: #3d5a80;
  --text-muted: #6d7b8a;
  --color-gold: #ffd700;
  --color-gold-dark: #d4af37;
  --color-blue: #65B0E8;
  --color-red: #e74c3c;
  --color-green: #27ae60;
  --border-color: rgba(101, 176, 232, 0.2);
  /* 响应式背景渐变 - 适配各种屏幕尺寸 */
    /* 纯色兜底（background-color）防止渐变绘制前闪白 */
    background-color: #C3EDFC;
  background-image: linear-gradient(180deg, #C3EDFC 0%, #A4DDF8 20%, #8BCBF1 40%, #65B0E8 70%, #498AC7 100%);
  background-repeat: no-repeat;
  background-size: cover;
  /* 确保全屏覆盖 */
    min-height: 100vh;
  height: 100vh;
  width: 100%;
  color: var(--text-primary);
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'PingFang SC', 'Hiragino Sans GB', 'Microsoft YaHei', sans-serif;
  /* 确保内容不被底部导航栏遮挡 */
    padding-bottom: calc(60px + env(safe-area-inset-bottom));
  box-sizing: border-box;
  font-size: 14px;
  line-height: 1.5;
}


div, span {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}


/* 通用容器 - 响应式适配 */
.container {
  padding: 10px;
  padding-bottom: calc(10px + env(safe-area-inset-bottom));
  min-height: 100vh;
  box-sizing: border-box;
  max-width: 375px;
  margin: 0 auto;
}


/* 响应式容器 - 适配平板和大屏幕 */
.container-wide {
  padding: 10px;
  padding-bottom: calc(10px + env(safe-area-inset-bottom));
  min-height: 100vh;
  box-sizing: border-box;
  max-width: 100%;
}


/* 安全区域底部适配 */
.safe-area-bottom {
  padding-bottom: env(safe-area-inset-bottom);
  box-sizing: border-box;
}


/* 安全区域顶部适配 */
.safe-area-top {
  padding-top: env(safe-area-inset-top);
  box-sizing: border-box;
}


/* 响应式字体 - 适配不同屏幕尺寸 */
.text-xs {
  font-size: 11px;
}

.text-sm {
  font-size: 12px;
}

.text-base {
  font-size: 14px;
}

.text-lg {
  font-size: 16px;
}

.text-xl {
  font-size: 18px;
}

.text-2xl {
  font-size: 20px;
}

.text-3xl {
  font-size: 24px;
}

.text-4xl {
  font-size: 28px;
}


/* 响应式间距 - 使用rpx单位实现自适应 */
.px-1 {
  padding-left: 4px;
  padding-right: 4px;
}

.px-2 {
  padding-left: 8px;
  padding-right: 8px;
}

.px-3 {
  padding-left: 12px;
  padding-right: 12px;
}

.px-4 {
  padding-left: 16px;
  padding-right: 16px;
}

.py-1 {
  padding-top: 4px;
  padding-bottom: 4px;
}

.py-2 {
  padding-top: 8px;
  padding-bottom: 8px;
}

.py-3 {
  padding-top: 12px;
  padding-bottom: 12px;
}

.py-4 {
  padding-top: 16px;
  padding-bottom: 16px;
}

.mx-1 {
  margin-left: 4px;
  margin-right: 4px;
}

.mx-2 {
  margin-left: 8px;
  margin-right: 8px;
}

.mx-3 {
  margin-left: 12px;
  margin-right: 12px;
}

.mx-auto {
  margin-left: auto;
  margin-right: auto;
}

.my-1 {
  margin-top: 4px;
  margin-bottom: 4px;
}

.my-2 {
  margin-top: 8px;
  margin-bottom: 8px;
}

.my-3 {
  margin-top: 12px;
  margin-bottom: 12px;
}

.my-4 {
  margin-top: 16px;
  margin-bottom: 16px;
}


/* 通用按钮 */
.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 10px 20px;
  border-radius: 4px;
  font-size: 14px;
  font-weight: bold;
  border: none;
}


.btn-gold {
  background: linear-gradient(135deg, #ffd700, #d4af37);
  color: #0d0d0d;
}


.btn-blue {
  background: linear-gradient(135deg, #1e90ff, #0066cc);
  color: #ffffff;
}


.btn-dark {
  background: rgba(255, 255, 255, 0.1);
  color: #ffffff;
  border: 1px solid rgba(255, 255, 255, 0.2);
}


/* 卡片样式 */
.card {
  background: rgba(255, 255, 255, 0.95);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  border-radius: 8px;
  padding: 12px;
  margin-bottom: 10px;
  border: 0.5px solid rgba(255, 255, 255, 0.1);
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
}


@supports not (backdrop-filter: blur(20px))  {
  .card {
    background: rgba(255, 255, 255, 0.95);
    box-shadow: 0 2px 12px rgba(0, 0, 0, 0.1);
  }
}


.card-gold-border {
  border: 1px solid rgba(255, 215, 0, 0.3);
  box-shadow: 0 0 10px rgba(255, 215, 0, 0.15);
}


/* 文字样式 */
.text-gold {
  color: var(--color-gold);
}


.text-blue {
  color: var(--color-blue);
}


.text-red {
  color: var(--color-red);
}


.text-muted {
  color: var(--text-muted);
}


.text-bold {
  font-weight: bold;
}


/* 标签样式 */
.tag {
  display: inline-block;
  padding: 3px 8px;
  border-radius: 10px;
  font-size: 11px;
  margin-right: 5px;
}


.tag-gold {
  background: rgba(255, 215, 0, 0.15);
  color: #d4af37;
  border: 0.5px solid rgba(255, 215, 0, 0.3);
}


.tag-red {
  background: rgba(255, 107, 53, 0.15);
  color: var(--color-red);
  border: 0.5px solid rgba(255, 107, 53, 0.3);
}


.tag-blue {
  background: rgba(30, 144, 255, 0.15);
  color: var(--color-blue);
  border: 0.5px solid rgba(30, 144, 255, 0.3);
}


/* flex布局 */
.flex {
  display: flex;
}


.flex-row {
  flex-direction: row;
}


.flex-col {
  flex-direction: column;
}


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


.flex-between {
  justify-content: space-between;
}


.flex-wrap {
  flex-wrap: wrap;
}


/* 间距 */
.mt-10 {
  margin-top: 5px;
}

.mt-20 {
  margin-top: 10px;
}

.mt-30 {
  margin-top: 15px;
}

.mb-10 {
  margin-bottom: 5px;
}

.mb-20 {
  margin-bottom: 10px;
}

.mb-30 {
  margin-bottom: 15px;
}

.p-20 {
  padding: 10px;
}


/* 价格样式 */
.price {
  color: var(--color-red);
  font-weight: bold;
  font-size: 16px;
}


.price::before {
  content: '¥';
  font-size: 12px;
  margin-right: 2px;
}

/* ==================== custom-tab-bar/index.wxss —— 底部导航（全局组件）（全局） ==================== */
/* custom-tab-bar/index.wxss */

.tab-bar-wrapper {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 999999;
  padding-bottom: env(safe-area-inset-bottom);
  pointer-events: none;
}


.custom-tab-bar {
  position: relative;
  display: flex;
  justify-content: center;
  padding: 6px 12px;
  padding-bottom: calc(6px + env(safe-area-inset-bottom));
  pointer-events: auto;
}


.tab-container {
  display: flex;
  align-items: center;
  justify-content: space-around;
  width: 340px;
  height: 50px;
  /* ===== 透明流体玻璃（高透明白渐变 + 细腻高光，背景内容清晰透出） ===== */
    background: linear-gradient(135deg,
      rgba(255, 255, 255, 0.18) 0%,
      rgba(255, 255, 255, 0.06) 50%,
      rgba(255, 255, 255, 0.12) 100%);
  border-radius: 25px;
  border: 0.5px solid rgba(255, 255, 255, 0.25);
  /* 玻璃质感：顶部亮边高光 + 柔和外投影 */
    box-shadow:
      inset 0 0.5px 0 rgba(255, 255, 255, 0.4),
      0 4px 20px rgba(0, 0, 0, 0.22),
      0 1px 6px rgba(0, 0, 0, 0.12);
  padding: 0 10px;
  user-select: none;
  -webkit-user-select: none;
  position: relative;
  overflow: hidden;
}


.tab-item {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  height: 100%;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
  padding: 4px 0;
  position: relative;
  overflow: hidden;
  z-index: 1;
}


/* 灯光指示器：柔和圆形发光体（径向渐变，刚好圈住图标和文字）
   瞬时切换：无任何过渡，点到哪亮到哪，其他 tab 完全不参与 */
.tab-glow {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 56px;
  height: 56px;
  border-radius: 50%;
  /* 圆形发光：中心亮、边缘自然淡出，无硬边框，观感柔和 */
    background: radial-gradient(circle at center,
      rgba(0, 255, 136, 0.16) 0%,
      rgba(0, 230, 118, 0.07) 55%,
      rgba(0, 255, 136, 0.02) 80%,
      transparent 100%);
  box-shadow: 0 0 12px rgba(0, 255, 136, 0.06);
  transform: translate(-50%, -50%);
  opacity: 0;
  pointer-events: none;
  z-index: 0;
}


.tab-item.active .tab-glow {
  opacity: 1;
}


.tab-icon {
  width: 22px;
  height: 22px;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  z-index: 1;
  transform: scale(1);
  /* 熄灭：快速回归 */
    transition: transform 0.2s ease;
}


.tab-item.active .tab-icon {
  transform: scale(1.12);
  /* 点亮：平滑放大（不过冲，避免闪烁） */
    transition: transform 0.35s cubic-bezier(0.22, 1, 0.36, 1);
}


.tab-item:active .tab-icon {
  transform: scale(0.92);
}


.tab-text {
  font-size: 11px;
  font-weight: 500;
  color: #ffffff;
  margin-top: 2px;
  letter-spacing: 0.5px;
  position: relative;
  z-index: 1;
  /* 熄灭：快速回归 */
    transition: color 0.15s ease;
}


.tab-item.active .tab-text {
  color: #00ff88;
  font-weight: 600;
  /* 点亮：平滑变色 */
    transition: color 0.3s ease;
}


/* 消息红点（聊天未读，纯红点无数字） */
.tab-badge {
  position: absolute;
  top: 3px;
  right: calc(50% - 22px);
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #ff4d4f;
  box-shadow: 0 1px 4px rgba(255, 77, 79, 0.5);
  z-index: 5;
  pointer-events: none;
}


/* ========== 首页图标 - 房子 ========== */
.icon-home {
  position: relative;
  width: 14px;
  height: 14px;
}


.home-body {
  position: absolute;
  bottom: 0;
  left: 1px;
  width: 12px;
  height: 8px;
  border: 1.25px solid #ffffff;
  border-top: none;
  border-radius: 0 0 2px 2px;
  box-sizing: border-box;
  transition: border-color 0.3s ease;
}


.tab-item.active .tab-icon .home-body {
  border-color: #FFB700;
}


.home-roof {
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 0;
  height: 0;
  border-left: 7px solid transparent;
  border-right: 7px solid transparent;
  border-bottom: 6px solid #ffffff;
  transition: border-color 0.3s ease;
}


.tab-item.active .tab-icon .home-roof {
  border-bottom-color: #FFB700;
}


/* ========== 分类图标 - 网格 ========== */
.icon-grid {
  position: relative;
  width: 14px;
  height: 14px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}


.grid-row {
  display: flex;
  justify-content: space-between;
  width: 100%;
}


.grid-row:first-child {
  margin-bottom: 2px;
}


.grid-cell {
  width: 5px;
  height: 5px;
  border: 1.25px solid #ffffff;
  border-radius: 1.5px;
  box-sizing: border-box;
  transition: border-color 0.3s ease;
}


.tab-item.active .tab-icon .grid-cell {
  border-color: #FFB700;
}


/* ========== 消息图标 - 铃铛 ========== */
.icon-bell {
  position: relative;
  width: 14px;
  height: 14px;
}


.bell-body {
  position: absolute;
  top: 1px;
  left: 0;
  width: 14px;
  height: 10px;
  border: 1.25px solid #ffffff;
  border-radius: 7px 7px 2px 2px;
  box-sizing: border-box;
  transition: border-color 0.3s ease;
}


.tab-item.active .tab-icon .bell-body {
  border-color: #FFB700;
}


.bell-clapper {
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 3px;
  height: 3px;
  background: #ffffff;
  border-radius: 50%;
  transition: background-color 0.3s ease;
}


.tab-item.active .tab-icon .bell-clapper {
  background-color: #FFB700;
}


/* ========== 我的图标 - 用户 ========== */
.icon-user {
  position: relative;
  width: 14px;
  height: 14px;
}


.user-head {
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 9px;
  height: 9px;
  border: 1.25px solid #ffffff;
  border-radius: 50%;
  box-sizing: border-box;
  transition: border-color 0.3s ease;
}


.tab-item.active .tab-icon .user-head {
  border-color: #FFB700;
}


.user-body {
  position: absolute;
  top: 7px;
  left: 50%;
  transform: translateX(-50%);
  width: 11px;
  height: 5px;
  border: 1.25px solid #ffffff;
  border-top: none;
  border-radius: 0 0 5.5px 5.5px;
  box-sizing: border-box;
  transition: border-color 0.3s ease;
}


.tab-item.active .tab-icon .user-body {
  border-color: #FFB700;
}


/* ===== 图标颜色过渡：熄灭快速（0.15s）/ 点亮平滑（0.3s），避免来回切换闪烁 ===== */
.tab-icon .home-body, .tab-icon .home-roof, .tab-icon .grid-cell, .tab-icon .bell-body, .tab-icon .bell-clapper, .tab-icon .user-head, .tab-icon .user-body {
  transition:
      border-color 0.15s ease,
      background-color 0.15s ease;
}


.tab-item.active .tab-icon .home-body, .tab-item.active .tab-icon .home-roof, .tab-item.active .tab-icon .grid-cell, .tab-item.active .tab-icon .bell-body, .tab-item.active .tab-icon .bell-clapper, .tab-item.active .tab-icon .user-head, .tab-item.active .tab-icon .user-body {
  transition:
      border-color 0.3s ease,
      background-color 0.3s ease;
}

/* ==================== pages/index/index.wxss —— 首页（作用域 .p-index） ==================== */
/* pages/index/index.wxss */

/* 🔴 页面级渐变背景：微信自带下拉刷新动画显示在渐变背景上 */
.p-index, .p-index {
  background-color: #C3EDFC;
  background-image: linear-gradient(180deg, #C3EDFC 0%, #A4DDF8 20%, #8BCBF1 40%, #65B0E8 70%, #498AC7 100%);
}


.p-index .page {
  min-height: 100vh;
  position: relative;
  box-sizing: border-box;
}


.p-index .page-bg {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: linear-gradient(180deg, #C3EDFC 0%, #A4DDF8 20%, #8BCBF1 40%, #65B0E8 70%, #498AC7 100%);
  z-index: 0;
}


/* 🔴 移除自定义滚动容器：改为页面原生滚动，微信自带下拉刷新（enablePullDownRefresh）才能正常触发 */
.p-index .main-scroll {
  padding-top: calc(44px + env(safe-area-inset-top));
  padding-bottom: calc(70px + env(safe-area-inset-bottom));
  position: relative;
  z-index: 1;
  box-sizing: border-box;
}


/* ========== Banner轮播区 ========== */
.p-index .banner {
  width: 100%;
  height: 260px;
  padding: 10px;
  box-sizing: border-box;
}


.p-index .banner-placeholder {
  width: 100%;
  height: 260px;
}


.p-index .banner-item {
  width: 100%;
  height: 240px;
  border-radius: 10px;
  overflow: hidden;
  position: relative;
  /* 🔴 修改（2026-08-25）：深色兜底背景——有图片时图片盖住此背景（只显示图片）；
       无图片/图片出错时由 wxml 行内 style 覆盖为所选纯背景色 */
    background: #0d0d0d;
}


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


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


.p-index .banner-bg-warn {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 0;
  background: repeating-linear-gradient(
      -45deg,
      #1a1a1a 0px,
      #1a1a1a 12px,
      #ffd700 12px,
      #ffd700 14px,
      #1a1a1a 14px,
      #1a1a1a 26px
    );
  display: flex;
  align-items: center;
  justify-content: center;
}


.p-index .warn-icon {
  font-size: 40px;
  opacity: 0.7;
  text-shadow: 0 0 10px rgba(0, 0, 0, 0.8);
}


.p-index .banner-content {
  color: #fff;
  /* ✨ 修改：使用绝对定位固定在左下角 */
    position: absolute;
  left: 20px;
  bottom: 40px;
  z-index: 10;
}


.p-index .banner-title {
  font-size: 24px;
  font-weight: bold;
  margin-bottom: 6px;
  text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3);
}


.p-index .banner-subtitle {
  font-size: 16px;
  opacity: 0.9;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.3);
}


.p-index .banner-logo {
  /* ✨ 修改：使用绝对定位固定在右侧居中位置 */
    position: absolute;
  right: 20px;
  top: 50%;
  transform: translateY(-50%);
  text-align: center;
  z-index: 10;
}


.p-index .logo-text {
  font-size: 18px;
  font-weight: bold;
  color: rgba(255, 255, 255, 0.9);
  text-shadow: 0 0 10px rgba(255, 255, 255, 0.5);
  writing-mode: vertical-rl;
  letter-spacing: 4px;
}


/* ========== 流体玻璃质感容器（高透明白渐变 + 玻璃高光，微信兼容无 backdrop-filter） ========== */
.p-index .glass-container {
  margin: 0 10px;
  padding: 10px;
  background: linear-gradient(160deg,
      rgba(255, 255, 255, 0.5) 0%,
      rgba(255, 255, 255, 0.16) 48%,
      rgba(255, 255, 255, 0.32) 100%);
  border-radius: 12px;
  border: 0.5px solid rgba(255, 255, 255, 0.45);
  box-shadow:
      inset 0 1px 0 rgba(255, 255, 255, 0.7),
      inset 0 -1px 3px rgba(255, 255, 255, 0.12),
      0 4px 16px rgba(0, 0, 0, 0.12),
      0 1px 4px rgba(0, 0, 0, 0.08);
  position: relative;
  overflow: hidden;
}


/* ========== 公告栏（玻璃卡片） ========== */
.p-index .notice-bar {
  display: flex;
  align-items: center;
  background: linear-gradient(135deg,
      rgba(255, 255, 255, 0.6) 0%,
      rgba(255, 255, 255, 0.32) 100%);
  border: 0.5px solid rgba(255, 255, 255, 0.5);
  border-radius: 6px;
  padding: 6px 10px;
  margin-bottom: 10px;
  box-shadow: inset 0 0.5px 0 rgba(255, 255, 255, 0.8);
}


/* 🔴 公告徽章（2026-08-25）：金色渐变标签，替代原 🔊 表情图标（不使用表情包） */
.p-index .notice-badge {
  flex-shrink: 0;
  margin-right: 8px;
  height: 16px;
  line-height: 16px;
  padding: 0 5px;
  font-size: 10px;
  font-weight: 600;
  color: #fff;
  text-align: center;
  border-radius: 3px;
  background: linear-gradient(135deg, #FFB700 0%, #FF8C00 100%);
  box-shadow: 0 1px 3px rgba(255, 140, 0, 0.35);
}


.p-index .notice-scroll-wrapper {
  flex: 1;
  overflow: hidden;
  position: relative;
  height: 17px;
}


.p-index .notice-marquee {
  position: absolute;
  top: 0;
  left: 0;
  white-space: nowrap;
  height: 17px;
  line-height: 17px;
  /* 🔴 修改（2026-08-25）：移除固定 12s animation，改用 JS 动态滚动（完整滚到头 + 停 1s 再循环）
       transform/transition 由 notice-marquee.js 动态写入 style */
    will-change: transform;
}


.p-index .notice-text {
  color: #333;
  font-size: 13px;
}


/* ========== 功能按钮区域 - 并排组合 ========== */
.p-index .function-buttons-row {
  display: flex;
  gap: 8px;
  margin-bottom: 12px;
}


.p-index .function-btn-horizontal {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  /* 毛玻璃：半透明白渐变 + 顶部高光 */
    background: linear-gradient(135deg,
      rgba(255, 255, 255, 0.55) 0%,
      rgba(255, 255, 255, 0.25) 100%);
  border-radius: 6px;
  padding: 10px 6px;
  box-shadow:
      inset 0 0.5px 0 rgba(255, 255, 255, 0.8),
      inset 0 -1px 2px rgba(255, 255, 255, 0.15),
      0 1px 6px rgba(0, 0, 0, 0.08);
  transition: transform 0.2s ease;
  min-height: 50px;
  border: 0.5px solid rgba(255, 255, 255, 0.5);
}


.p-index .function-btn-horizontal:active {
  transform: scale(0.98);
}


.p-index .function-btn-horizontal .btn-content {
  display: flex;
  flex-direction: column;
  align-items: center;
}


.p-index .function-btn-horizontal .btn-title {
  color: #333;
  font-size: 13px;
  font-weight: bold;
}


.p-index .function-btn-horizontal .btn-desc {
  color: #999;
  font-size: 10px;
  margin-left: 0;
  margin-top: 2px;
}


/* ========== 隐私协议弹窗样式 ========== */
.p-index .privacy-modal {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 99999;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px;
}


.p-index .privacy-mask {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(15, 23, 42, 0.75);
}


.p-index .privacy-card {
  position: relative;
  width: 100%;
  max-width: 310px;
  background: rgba(255, 255, 255, 0.97);
  border-radius: 14px;
  padding: 20px 16px 16px;
  border: 1px solid rgba(255, 255, 255, 0.7);
  box-shadow:
      0 12px 40px rgba(30, 64, 175, 0.35),
      0 0 0 1px rgba(255, 255, 255, 0.4) inset;
  overflow: hidden;
}


.p-index .privacy-card::before {
  content: '';
  position: absolute;
  top: -40px;
  right: -40px;
  width: 120px;
  height: 120px;
  background: radial-gradient(circle, rgba(59, 130, 246, 0.22) 0%, transparent 70%);
  border-radius: 50%;
  pointer-events: none;
}


.p-index .privacy-card::after {
  content: '';
  position: absolute;
  bottom: -30px;
  left: -30px;
  width: 100px;
  height: 100px;
  background: radial-gradient(circle, rgba(99, 102, 241, 0.18) 0%, transparent 70%);
  border-radius: 50%;
  pointer-events: none;
}


.p-index .privacy-header {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  margin-bottom: 14px;
}


.p-index .privacy-title {
  font-size: 16px;
  font-weight: 700;
  color: #1e293b;
  margin-bottom: 3px;
  letter-spacing: 1px;
}


.p-index .privacy-subtitle {
  font-size: 11px;
  color: #64748b;
  letter-spacing: 0.5px;
}


.p-index .privacy-body {
  position: relative;
  z-index: 1;
  background: rgba(255, 255, 255, 0.72);
  border-radius: 10px;
  padding: 14px 14px 12px;
  margin-bottom: 14px;
  border: 1px solid rgba(59, 130, 246, 0.12);
}


.p-index .privacy-content {
  display: flex;
  flex-wrap: wrap;
  line-height: 1.8;
  margin-bottom: 10px;
}


.p-index .privacy-text {
  font-size: 12px;
  color: #475569;
}


.p-index .privacy-link {
  font-size: 12px;
  color: #2563eb;
  font-weight: 600;
  text-decoration: underline;
  text-decoration-color: rgba(37, 99, 235, 0.3);
  padding: 0 1px;
}


.p-index .privacy-highlight {
  background: linear-gradient(135deg, rgba(59, 130, 246, 0.08) 0%, rgba(99, 102, 241, 0.08) 100%);
  border-radius: 7px;
  padding: 8px 10px;
  margin-bottom: 8px;
}


.p-index .privacy-highlight-item {
  display: flex;
  align-items: flex-start;
  padding: 3px 0;
}


.p-index .highlight-dot {
  color: #3b82f6;
  font-size: 11px;
  margin-right: 5px;
  font-weight: 700;
  line-height: 1.6;
}


.p-index .highlight-text {
  font-size: 11px;
  color: #334155;
  line-height: 1.6;
  flex: 1;
}


.p-index .privacy-footer-text {
  text-align: center;
  padding-top: 4px;
}


.p-index .privacy-footer-text span {
  font-size: 11px;
  color: #64748b;
}


.p-index .privacy-buttons {
  position: relative;
  z-index: 1;
  display: flex;
  gap: 10px;
}


.p-index .privacy-btn {
  flex: 1;
  height: 40px;
  line-height: 40px;
  border-radius: 20px;
  font-size: 13px;
  text-align: center;
  transition: transform 0.15s ease;
}


.p-index .privacy-btn:active {
  transform: scale(0.95);
}


.p-index .privacy-btn-reject {
  background: rgba(255, 255, 255, 0.85);
  color: #475569;
  font-weight: 500;
  border: 1px solid rgba(71, 85, 105, 0.15);
}


.p-index .privacy-btn-agree {
  background: linear-gradient(135deg, #3b82f6 0%, #6366f1 100%);
  color: #fff;
  font-weight: 700;
  box-shadow: 0 3px 10px rgba(59, 130, 246, 0.4);
  letter-spacing: 1px;
  /* button 元素默认样式重置：与「不同意」view 按钮保持一致（同尺寸、文字居中、无边框） */
    padding: 0;
  margin: 0;
  border: none;
  box-sizing: border-box;
  display: flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
}


.p-index .privacy-btn-agree::after {
  border: none;
}


.p-index .function-btn-horizontal .btn-arrow {
  display: none;
}


/* 排行榜按钮特殊样式 */
.p-index .function-btn-horizontal.rank-btn {
  /* 移除金色边框，统一使用蓝色 */;
}


/* ========== 点单按钮（毛玻璃） ========== */
.p-index .order-btn {
  width: 100%;
  background: linear-gradient(135deg,
      rgba(255, 255, 255, 0.6) 0%,
      rgba(255, 255, 255, 0.28) 100%);
  border-radius: 6px;
  padding: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow:
      inset 0 0.5px 0 rgba(255, 255, 255, 0.85),
      inset 0 -1px 2px rgba(255, 255, 255, 0.15),
      0 1px 6px rgba(0, 0, 0, 0.08);
  transition: transform 0.2s ease;
  margin-bottom: 10px;
  border: 0.5px solid rgba(255, 255, 255, 0.5);
}


.p-index .order-btn:active {
  transform: scale(0.98);
}


.p-index .order-btn-text {
  color: #333;
  font-size: 16px;
  font-weight: bold;
}


/* ========== 商品列表标题 ========== */
.p-index .section-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 10px;
}


.p-index .section-title {
  color: #333;
  font-size: 16px;
  font-weight: bold;
}


.p-index .section-more {
  display: flex;
  align-items: center;
  color: #999;
  font-size: 13px;
}


.p-index .more-arrow {
  margin-left: 4px;
}


/* ========== 商品列表 ========== */
.p-index .product-list {
  display: flex;
  flex-direction: column;
  gap: 8px;
}


.p-index .product-item {
  display: flex;
  background: #fff;
  border-radius: 8px;
  overflow: hidden;
}


.p-index .product-image {
  width: 110px;
  height: 80px;
  border-radius: 6px;
  display: flex;
  align-items: center;
  justify-content: center;
}


.p-index .product-icon {
  font-size: 30px;
}


.p-index .product-info {
  flex: 1;
  padding: 10px;
  display: flex;
  flex-direction: column;
}


.p-index .product-name {
  color: #333;
  font-size: 14px;
  font-weight: bold;
}


.p-index .product-price {
  color: #ff6b35;
  font-size: 16px;
  font-weight: bold;
  margin-top: 4px;
}


.p-index .product-desc {
  color: #999;
  font-size: 11px;
  margin-top: 4px;
}

/* ==================== pages/category/category.wxss —— 点单页（作用域 .p-category） ==================== */
/* pages/category/category.wxss */

/* ==================== 页面基础 ==================== */
/* 🔴 页面级渐变背景：微信自带下拉刷新动画显示在渐变背景上 */
.p-category, .p-category {
  background-color: #C3EDFC;
  background-image: linear-gradient(180deg, #C3EDFC 0%, #A4DDF8 20%, #8BCBF1 40%, #65B0E8 70%, #498AC7 100%);
}


.p-category .page {
  min-height: 100vh;
  position: relative;
  box-sizing: border-box;
}


.p-category .page-bg {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: linear-gradient(180deg, #C3EDFC 0%, #A4DDF8 20%, #8BCBF1 40%, #65B0E8 70%, #498AC7 100%);
  z-index: 0;
}


/* ==================== 加载状态 ==================== */
.p-category .loading-state {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 60px 0;
  position: relative;
  z-index: 1;
}


.p-category .loading-icon {
  font-size: 40px;
  color: #fff;
  opacity: 0.7;
  animation: spin 1.2s linear infinite;
  margin-bottom: 10px;
}


@keyframes spin  {
  0% {
    transform: rotate(0deg);
  }

    100% {
    transform: rotate(360deg);
  }
}


.p-category .loading-text {
  font-size: 14px;
  color: #fff;
  opacity: 0.85;
  letter-spacing: 1px;
}


/* ==================== 顶部搜索栏 ==================== */
.p-category .search-bar {
  position: relative;
  z-index: 100;
  padding: 6px 9px 5px;
  /* 流体玻璃：半透明渐变 + 顶部高光（无 backdrop-filter，避免微信渲染异常） */
    background: linear-gradient(160deg,
      rgba(255, 255, 255, 0.5) 0%,
      rgba(255, 255, 255, 0.15) 50%,
      rgba(255, 255, 255, 0.32) 100%);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.6);
  flex-shrink: 0;
  border-bottom: 0.5px solid rgba(255, 255, 255, 0.35);
}


.p-category .search-row {
  display: flex;
  align-items: center;
  gap: 6px;
  margin-bottom: 5px;
}


.p-category .search-box {
  display: flex;
  align-items: center;
  background: linear-gradient(160deg,
      rgba(255, 255, 255, 0.6) 0%,
      rgba(255, 255, 255, 0.25) 50%,
      rgba(255, 255, 255, 0.45) 100%);
  border: 0.5px solid rgba(255, 255, 255, 0.5);
  border-radius: 14px;
  padding: 5px 9px;
  flex: 1;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.5), inset 0 0.5px 2px rgba(0,0,0,0.06);
  transition: all 0.2s ease;
}


.p-category .search-box:active, .p-category .search-box.search-focused {
  border-color: #ffffff;
  box-shadow: 0 0 0 1px rgba(255,255,255,0.9), 0 0 8px rgba(255,255,255,0.5), inset 0 0.5px 2px rgba(0,0,0,0.08);
}


.p-category .search-icon {
  font-size: 12px;
  margin-right: 4px;
  color: #2563EB;
  opacity: 0.85;
}


.p-category .search-input {
  flex: 1;
  font-size: 12px;
  color: #0f172a;
  line-height: 18px;
  font-weight: 500;
}


.p-category .search-clear {
  font-size: 12px;
  color: #64748b;
  padding: 2px 6px;
  margin-left: 2px;
}


.p-category .sort-options {
  display: flex;
  gap: 6px;
}


/* 筛选折叠按钮（流体玻璃） */
.p-category .filter-toggle {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 4px;
  padding: 6px 12px;
  font-size: 11px;
  color: #6b7280;
  font-weight: 600;
  background: linear-gradient(160deg,
      rgba(255, 255, 255, 0.55) 0%,
      rgba(255, 255, 255, 0.2) 50%,
      rgba(255, 255, 255, 0.4) 100%);
  border: 0.5px solid rgba(255, 255, 255, 0.5);
  border-radius: 6px;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.45);
}


.p-category .filter-text {
  font-size: 11px;
  font-weight: 600;
}


.p-category .filter-arrow {
  font-size: 15px;
  line-height: 1;
  transition: transform 0.25s ease;
}


.p-category .filter-arrow.arrow-up {
  transform: rotate(180deg);
}


/* 筛选悬浮弹窗遮罩：从搜索栏下方开始覆盖（不遮住筛选按钮），轻微模糊背景 */
.p-category .filter-mask {
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  height: 1000px;
  z-index: 90;
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
}


/* 筛选悬浮弹窗（不透明背景） */
.p-category .filter-popup {
  position: absolute;
  top: calc(100% + 4px);
  left: 9px;
  z-index: 95;
  display: flex;
  flex-direction: column;
  gap: 4px;
  min-width: 140px;
  padding: 6px;
  background: #ffffff;
  border: 0.5px solid rgba(255, 255, 255, 0.6);
  border-radius: 8px;
  box-shadow: 0 4px 15px rgba(0,0,0,0.15);
}


.p-category .filter-option {
  padding: 7px 10px;
  font-size: 12px;
  color: #1e293b;
  border-radius: 6px;
  font-weight: 500;
}


.p-category .filter-option.active {
  color: #2563EB;
  background: rgba(37, 99, 235, 0.12);
  font-weight: 700;
}


/* ==================== 主滚动区（移除自定义滚动：页面原生滚动） ==================== */
.p-category .main-scroll {
  padding: 8px 9px calc(70px + env(safe-area-inset-bottom));
  box-sizing: border-box;
  position: relative;
  z-index: 1;
}


/* ==================== 分类组 ==================== */
.p-category .category-group {
  margin-bottom: 5px;
}


/* ==================== 分类标题栏 ==================== */
.p-category .category-bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 5px 11px;
  /* 流体玻璃：半透明渐变 + 顶部高光（无 backdrop-filter，避免微信渲染异常） */
    background: linear-gradient(160deg,
      rgba(255, 255, 255, 0.55) 0%,
      rgba(255, 255, 255, 0.18) 50%,
      rgba(255, 255, 255, 0.38) 100%);
  border-radius: 8px 8px 0 0;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.6), 0 1px 5px rgba(0,0,0,0.08);
  position: relative;
  z-index: 10;
  border: 0.5px solid rgba(255, 255, 255, 0.5);
  border-bottom: none;
  transition: border-radius 0.25s ease;
}


.p-category .category-bar.collapsed {
  border-radius: 8px;
  border-bottom: 0.5px solid rgba(255, 255, 255, 0.5);
}


.p-category .bar-left {
  display: flex;
  align-items: center;
  gap: 6px;
}


.p-category .bar-name {
  font-size: 13px;
  font-weight: 700;
  color: #0f172a;
  max-width: 100px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}


.p-category .bar-right {
  display: flex;
  align-items: center;
  gap: 4px;
}


.p-category .bar-count {
  font-size: 10px;
  color: #94a3b8;
  font-weight: 400;
}


.p-category .bar-arrow {
  font-size: 14px;
  color: #64748b;
  font-weight: 300;
  transition: transform 0.25s ease;
  display: inline-block;
}


.p-category .bar-arrow.arrow-up {
  transform: rotate(90deg);
}


/* ==================== 分类体（手风琴展开时显示，带滑动动画） ==================== */
.p-category .category-body {
  position: relative;
  background: linear-gradient(160deg,
      rgba(255, 255, 255, 0.38) 0%,
      rgba(255, 255, 255, 0.18) 50%,
      rgba(255, 255, 255, 0.5) 100%);
  border-radius: 0 0 8px 8px;
  box-shadow: inset 0 0.5px 0 rgba(255, 255, 255, 0.4), 0 1px 5px rgba(0,0,0,0.08);
  margin-top: -1px;
  border: 0.5px solid rgba(255, 255, 255, 0.5);
  border-top: none;
  overflow: hidden;
  max-height: 0;
  padding: 0 8px 0;
  opacity: 0;
  transition: max-height 0.32s cubic-bezier(0.4, 0, 0.2, 1),
                opacity 0.28s ease,
                padding 0.32s cubic-bezier(0.4, 0, 0.2, 1);
}


.p-category .category-body.body-open {
  max-height: 500px;
  padding: 0 8px 5px;
  opacity: 1;
}


/* ==================== 服务卡片网格 ==================== */
.p-category .service-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  column-gap: 7px;
  row-gap: 9px;
  padding-top: 8px;
}


/* 商品超过2个时的滚动容器（可视区只显示一行=2个商品，多的上下滚动预览） */
.p-category .service-scroll-wrap {
  position: relative;
}


.p-category .service-scroll {
  max-height: 181px;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
}


/* 滚动状态指示条：只显示进度，不参与滚动；贴容器最右边缘，远离商品 */
.p-category .scroll-indicator {
  position: absolute;
  top: 2px;
  right: 0;
  width: 3px;
  border-radius: 1.5px;
  background: linear-gradient(180deg, rgba(150,158,170,0.5), rgba(150,158,170,0.22));
  pointer-events: none;
}


.p-category .service-scroll .service-grid {
  padding-top: 8px;
}


.p-category .service-card {
  background: rgba(255, 255, 255, 0.7);
  backdrop-filter: blur(9px);
  -webkit-backdrop-filter: blur(9px);
  border-radius: 8px;
  overflow: hidden;
  box-shadow: 0 1px 5px rgba(0,0,0,0.08);
  border: 0.5px solid rgba(255, 255, 255, 0.85);
  transition: all 0.2s;
}


.p-category .card-hover {
  transform: scale(0.97);
  box-shadow: 0 1px 4px rgba(0,0,0,0.04);
}


.p-category .card-cover {
  width: 100%;
  height: 100px;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  /* 🔴 移除蓝色默认背景（不再用蓝色兜底）：有图片显示图片，无图片走 bgColor 背景 */
    background: rgba(255, 255, 255, 0.06);
}


/* 🎬 商品图：元素创建时播放"从左往右 + 淡入"动画（不依赖 bindload，保证最终可见）
   - 动画结束时 opacity 定格为 1（forwards），图片一定显示
   - 微信小程序对元素创建时播放 animation 支持良好 */
.p-category .cover-image {
  width: 100%;
  height: 100%;
  display: block;
  position: relative;
  z-index: 1;
  opacity: 1;
  /* 兜底：即使动画不触发也可见 */
    transform-origin: left center;
  animation: coverReveal 0.65s cubic-bezier(0.22, 1, 0.36, 1);
}


/* 从左往右 + 淡入 关键帧 */
@keyframes coverReveal  {
  0% {
    opacity: 0;
    transform: scaleX(0.2);
  }

    100% {
    opacity: 1;
    transform: scaleX(1);
  }
}


.p-category .card-cover::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 35px;
  background: linear-gradient(to bottom, rgba(0,0,0,0) 0%, rgba(0,0,0,0.45) 100%);
  z-index: 2;
  pointer-events: none;
}


.p-category .card-cover-fallback {
  /* 🔴 移除蓝色默认背景：管理端已强制背景色必选，此处仅中性占位（理论上不会走到） */
    background: rgba(255, 255, 255, 0.06);
}


.p-category .card-cover-fallback::after {
  display: none;
}


.p-category .cover-fallback-text {
  font-size: 14px;
  color: #fff;
  font-weight: 600;
  max-width: 85%;
  text-align: center;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}


.p-category .cover-badge {
  position: absolute;
  top: 4px;
  left: 4px;
  background: rgba(255,255,255,0.95);
  color: #dc2626;
  font-size: 9px;
  padding: 2px 5px;
  border-radius: 6px;
  font-weight: 700;
  z-index: 3;
}


.p-category .cover-tag {
  position: absolute;
  bottom: 4px;
  left: 4px;
  right: 4px;
  background: rgba(0,0,0,0.55);
  color: #fff;
  font-size: 10px;
  padding: 3px 6px;
  border-radius: 5px;
  font-weight: 500;
  z-index: 3;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}


.p-category .card-info {
  padding: 4px 6px 4px;
}


.p-category .card-title {
  font-size: 12px;
  font-weight: 700;
  color: #0f172a;
  line-height: 1.4;
  overflow: hidden;
  text-overflow: ellipsis;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  min-height: 20px;
  margin-bottom: 2px;
}


.p-category .card-price-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 3px;
}


.p-category .card-price {
  display: flex;
  align-items: baseline;
}


.p-category .p-symbol {
  font-size: 10px;
  color: #dc2626;
  font-weight: 700;
}


.p-category .p-value {
  font-size: 15px;
  color: #dc2626;
  font-weight: 800;
}


.p-category .card-sales {
  font-size: 9px;
  color: #94a3b8;
  font-weight: 400;
}


.p-category .card-action {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  background: linear-gradient(135deg, #4A90D9, #2563EB);
  border-radius: 10px;
  padding: 4px 0;
  box-shadow: 0 1px 5px rgba(37,99,235,0.3);
}


.p-category .action-text {
  font-size: 11px;
  color: #fff;
  font-weight: 700;
  line-height: 1;
  white-space: nowrap;
}


/* ==================== 空状态 ==================== */
.p-category .empty-state {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 30px 10px;
  grid-column: 1 / -1;
}


.p-category .empty-icon {
  font-size: 32px;
  margin-bottom: 8px;
  opacity: 0.5;
}


.p-category .empty-text {
  font-size: 13px;
  color: #bbb;
}


/* ==================== 底部 ==================== */
.p-category .bottom-tip {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 16px 0 20px;
}


.p-category .bottom-text {
  font-size: 12px;
  color: #ccc;
}

/* ==================== pages/service-detail/service-detail.wxss —— 服务详情（作用域 .p-detail） ==================== */
/* pages/service-detail/service-detail.wxss */

.p-detail .viewport {
  width: 100%;
  height: 100vh;
  display: flex;
  flex-direction: column;
  /* 小程序统一背景色：蓝色渐变 */
    background: linear-gradient(180deg, #C3EDFC 0%, #A4DDF8 20%, #8BCBF1 40%, #65B0E8 70%, #498AC7 100%);
}


.p-detail .scroll-body {
  flex: 1;
  height: 0;
}


.p-detail .content-wrap {
  padding: 12px;
  padding-bottom: 0;
}


/* ==================== 顶部信息卡片（毛玻璃） ==================== */
.p-detail .hero-card {
  background: rgba(255, 255, 255, 0.5);
  -webkit-backdrop-filter: blur(12px) saturate(160%);
  backdrop-filter: blur(12px) saturate(160%);
  border: 0.5px solid rgba(255, 255, 255, 0.6);
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.06);
}


.p-detail .hero-image-wrap {
  width: 100%;
  height: 210px;
  position: relative;
  overflow: hidden;
}


.p-detail .hero-image {
  width: 100%;
  height: 100%;
  display: block;
}


.p-detail .hero-image-placeholder {
  width: 100%;
  height: 100%;
  background: linear-gradient(135deg, #e8edf2 0%, #dce3ea 100%);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 6px;
}


.p-detail .hero-placeholder-icon {
  font-size: 32px;
}


.p-detail .hero-placeholder-text {
  font-size: 13px;
  color: #94a3b8;
  font-weight: 500;
}


.p-detail .hero-body {
  padding: 14px 14px 12px;
}


.p-detail .hero-title {
  font-size: 18px;
  font-weight: 800;
  color: #0f172a;
  line-height: 1.4;
  display: block;
}


.p-detail .hero-subtitle {
  font-size: 13px;
  color: #64748b;
  margin-top: 4px;
  display: block;
  line-height: 1.4;
}


.p-detail .hero-meta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-top: 10px;
  padding-top: 10px;
  border-top: 0.5px solid rgba(0, 0, 0, 0.15);
}


.p-detail .hero-sales {
  display: flex;
  align-items: center;
  gap: 3px;
}


.p-detail .sales-icon {
  font-size: 11px;
}


.p-detail .sales-num {
  font-size: 12px;
  color: #94a3b8;
  font-weight: 500;
}


.p-detail .hero-price {
  display: flex;
  align-items: baseline;
}


.p-detail .price-symbol {
  font-size: 12px;
  color: #dc2626;
  font-weight: 700;
}


.p-detail .price-value {
  font-size: 20px;
  color: #dc2626;
  font-weight: 800;
  line-height: 1;
}


/* ==================== 服务介绍卡片（毛玻璃，内容多时内部滚动） ==================== */
.p-detail .intro-card {
  margin-top: 12px;
  display: flex;
  flex-direction: column;
  max-height: 360px;
  background: rgba(255, 255, 255, 0.5);
  -webkit-backdrop-filter: blur(12px) saturate(160%);
  backdrop-filter: blur(12px) saturate(160%);
  border: 0.5px solid rgba(255, 255, 255, 0.6);
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.06);
}


.p-detail .intro-header {
  padding: 12px 14px 0;
}


.p-detail .intro-title {
  font-size: 15px;
  font-weight: 700;
  color: #0f172a;
  position: relative;
  padding-left: 10px;
}


.p-detail .intro-title::before {
  content: '';
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 3px;
  height: 14px;
  background: linear-gradient(180deg, #4A90D9, #2563EB);
  border-radius: 1.5px;
}


.p-detail .intro-body {
  flex: 1;
  overflow-y: auto;
  padding: 10px 14px 14px;
  scrollbar-width: thin;
  scrollbar-color: rgba(101, 176, 232, 0.5) transparent;
}


/* 自定义滚动条（安卓生效，iOS 部分机型不生效） */
.p-detail .intro-body::-webkit-scrollbar {
  width: 2.5px;
}

.p-detail .intro-body::-webkit-scrollbar-track {
  background: transparent;
}

.p-detail .intro-body::-webkit-scrollbar-thumb {
  background: linear-gradient(180deg, rgba(101, 176, 232, 0.55), rgba(73, 138, 199, 0.55));
  border-radius: 1.5px;
}


.p-detail .intro-text {
  font-size: 14px;
  color: #475569;
  line-height: 1.9;
  white-space: pre-wrap;
  word-break: break-all;
}


.p-detail .intro-empty {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 20px 0;
  gap: 6px;
}


.p-detail .intro-empty-icon {
  font-size: 24px;
  opacity: 0.5;
}


.p-detail .intro-empty-text {
  font-size: 13px;
  color: #94a3b8;
  font-weight: 400;
}


/* ==================== 底部留白 ==================== */
.p-detail .bottom-spacer {
  height: 70px;
}


/* ==================== 底部下单栏（毛玻璃） ==================== */
.p-detail .order-bar {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  display: flex;
  align-items: center;
  padding: 8px 14px;
  padding-bottom: calc(8px + env(safe-area-inset-bottom));
  background: rgba(255, 255, 255, 0.5);
  -webkit-backdrop-filter: blur(12px) saturate(160%);
  backdrop-filter: blur(12px) saturate(160%);
  border-top: 0.5px solid rgba(255, 255, 255, 0.6);
  box-shadow:
      inset 0 0.5px 0 rgba(255, 255, 255, 0.4),
      0 -1px 8px rgba(0, 0, 0, 0.06);
  z-index: 100;
}


.p-detail .order-price {
  flex: 1;
  display: flex;
  align-items: baseline;
}


.p-detail .order-price-label {
  font-size: 14px;
  color: #1a1a2e;
  font-weight: 700;
  margin-right: 5px;
}


.p-detail .order-price-symbol {
  font-size: 12px;
  color: #dc2626;
  font-weight: 700;
}


.p-detail .order-price-value {
  font-size: 20px;
  color: #dc2626;
  font-weight: 800;
  line-height: 1;
}


.p-detail .order-btn {
  width: 110px;
  height: 40px;
  background: linear-gradient(135deg, #7EC3F8 0%, #4A90D9 30%, #2E6FE0 70%, #1E50C8 100%);
  border: 0.5px solid rgba(255, 255, 255, 0.6);
  border-radius: 22px;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 1.5px 6px rgba(37, 99, 235, 0.45);
  transition: transform 0.18s cubic-bezier(0.34, 1.56, 0.64, 1);
}


/* 按下回弹 */
.p-detail .btn-press {
  transform: scale(0.93);
}


.p-detail .order-btn-text {
  font-size: 15px;
  color: #ffffff;
  font-weight: 700;
  line-height: 1;
}


/* ===== 下单风险告知弹窗（D3，与 order-confirm 一致）===== */
.p-detail .privacy-modal {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 99999;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px;
}


.p-detail .privacy-mask {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(15, 23, 42, 0.75);
}


.p-detail .privacy-card {
  position: relative;
  width: 100%;
  max-width: 310px;
  background: rgba(255, 255, 255, 0.97);
  border-radius: 14px;
  padding: 20px 16px 16px;
  border: 1px solid rgba(255, 255, 255, 0.7);
  box-shadow: 0 12px 40px rgba(30, 64, 175, 0.35);
  overflow: hidden;
}


.p-detail .privacy-header {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  margin-bottom: 14px;
}


.p-detail .privacy-title {
  font-size: 16px;
  font-weight: 700;
  color: #1e293b;
  margin-bottom: 3px;
  letter-spacing: 1px;
}


.p-detail .privacy-subtitle {
  font-size: 11px;
  color: #64748b;
  letter-spacing: 0.5px;
}


.p-detail .privacy-body {
  position: relative;
  z-index: 1;
  background: rgba(255, 255, 255, 0.72);
  border-radius: 10px;
  padding: 14px 14px 12px;
  margin-bottom: 14px;
  border: 1px solid rgba(59, 130, 246, 0.12);
}


.p-detail .privacy-buttons {
  position: relative;
  z-index: 1;
  display: flex;
  gap: 10px;
}


.p-detail .privacy-btn {
  flex: 1;
  padding: 12px 0;
  text-align: center;
  border-radius: 8px;
  font-size: 14px;
  font-weight: 600;
  transition: all 0.2s;
}


.p-detail .privacy-btn:active {
  transform: scale(0.96);
}


.p-detail .privacy-btn-reject {
  background: rgba(148, 163, 184, 0.15);
  color: #64748b;
  border: 1px solid rgba(148, 163, 184, 0.25);
}


.p-detail .privacy-btn-agree {
  background: linear-gradient(135deg, #5B9BD5, #3B82F6);
  color: #fff;
  box-shadow: 0 2px 7px rgba(59, 130, 246, 0.22);
}


.p-detail .risk-line {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 2px 0;
}


.p-detail .risk-line-text {
  font-size: 12px;
  color: #5b6b80;
  line-height: 1.7;
  text-align: center;
  word-break: break-all;
}


.p-detail .risk-link-text {
  font-size: 12px !important;
  color: #5B7C99 !important;
  white-space: nowrap;
}

/* ==================== pages/order-confirm/order-confirm.wxss —— 下单确认 / 弹窗（作用域 .p-order-confirm） ==================== */
/* 页面容器 */
.p-order-confirm .page-container {
  min-height: 100vh;
  position: relative;
}


.p-order-confirm .page-bg {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  /* 与 pay-result / service-detail 统一的深蓝渐变背景 */
    background: linear-gradient(180deg, #C3EDFC 0%, #A4DDF8 20%, #8BCBF1 40%, #65B0E8 70%, #498AC7 100%);
  z-index: -1;
}


.p-order-confirm .page-content {
  padding: 10px 0 70px;
}


/* ===== 通用流体玻璃卡片 ===== */
.p-order-confirm .glass-card {
  position: relative;
  margin: 0 15px 15px;
  padding: 15px;
  background: rgba(255, 255, 255, 0.6);
  -webkit-backdrop-filter: blur(12px) saturate(160%);
  backdrop-filter: blur(12px) saturate(160%);
  border: 0.5px solid rgba(255, 255, 255, 0.7);
  border-radius: 14px;
  box-shadow: 0 3px 12px rgba(0, 0, 0, 0.08);
  overflow: hidden;
}


/* 玻璃内高光亮点 */
.p-order-confirm .glass-card::after {
  content: '';
  position: absolute;
  top: -40px;
  right: -40px;
  width: 120px;
  height: 120px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(255, 255, 255, 0.4) 0%, rgba(255, 255, 255, 0) 70%);
  pointer-events: none;
}


/* 用户信息卡片（登录后显示） */
.p-order-confirm .user-card {
  display: flex;
  align-items: center;
}


.p-order-confirm .user-info {
  display: flex;
  align-items: center;
  width: 100%;
}


.p-order-confirm .user-avatar-wrapper {
  position: relative;
  margin-right: 12px;
  flex-shrink: 0;
}


.p-order-confirm .user-avatar {
  width: 48px;
  height: 48px;
  border-radius: 50%;
  border: 2px solid rgba(255,255,255,0.8);
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.08);
}


.p-order-confirm .user-avatar-placeholder {
  width: 48px;
  height: 48px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.65);
  display: flex;
  align-items: center;
  justify-content: center;
  border: 2px solid rgba(255,255,255,0.8);
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.08);
}


.p-order-confirm .user-details {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 4px;
}


.p-order-confirm .user-name-row {
  display: flex;
  align-items: center;
  gap: 6px;
}


.p-order-confirm .user-nickname {
  font-size: 15px;
  font-weight: bold;
  color: #1a1a2e;
}


.p-order-confirm .locked-badge {
  display: flex;
  align-items: center;
  gap: 2px;
  padding: 2px 6px;
  background: #FEF3C7;
  border-radius: 6px;
}


.p-order-confirm .locked-icon {
  font-size: 10px;
}


.p-order-confirm .locked-text {
  font-size: 10px;
  color: #D97706;
  font-weight: 500;
}


.p-order-confirm .user-account-id {
  font-size: 12px;
  color: #65B0E8;
  font-weight: 500;
  font-family: monospace;
}


.p-order-confirm .lock-tip {
  margin-top: 8px;
  padding-top: 8px;
  border-top: 0.5px dashed #E2E8F0;
}


.p-order-confirm .tip-text {
  font-size: 11px;
  color: #94A3B8;
}


/* 陪玩信息卡片（头像左，名称+ID右侧同客户信息，已完成单数最右侧） */
.p-order-confirm .booster-card {
  display: flex;
  align-items: center;
}


.p-order-confirm .booster-info {
  display: flex;
  align-items: center;
  width: 100%;
}


.p-order-confirm .booster-avatar-wrapper {
  position: relative;
  margin-right: 12px;
  flex-shrink: 0;
}


.p-order-confirm .booster-avatar {
  width: 48px;
  height: 48px;
  /* 与用户头像一致 */
    border-radius: 50%;
  background: rgba(255, 255, 255, 0.65);
  display: flex;
  align-items: center;
  justify-content: center;
  border: 2px solid rgba(255,255,255,0.8);
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.08);
}


.p-order-confirm .avatar-text {
  font-size: 22px;
  font-weight: bold;
  color: #1e3a5f;
}


.p-order-confirm .booster-rank-badge {
  position: absolute;
  top: -4px;
  right: -4px;
  background: linear-gradient(135deg, #FFD700, #FFA500);
  padding: 2px 6px;
  border-radius: 10px;
  box-shadow: 0 1px 4px rgba(255, 215, 0, 0.4);
}


.p-order-confirm .rank-text {
  font-size: 10px;
  font-weight: bold;
  color: #fff;
}


.p-order-confirm .booster-details {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 4px;
}


.p-order-confirm .booster-name {
  font-size: 15px;
  font-weight: bold;
  color: #1a1a2e;
}


.p-order-confirm .booster-id {
  font-size: 12px;
  color: #65B0E8;
  /* 与用户ID一致 */
    font-weight: 500;
  font-family: monospace;
}


.p-order-confirm .booster-orders {
  font-size: 11px;
  color: #65B0E8;
  font-weight: 500;
  margin-left: auto;
  /* 推到最右侧 */
    flex-shrink: 0;
}


.p-order-confirm .booster-meta {
  display: flex;
  align-items: center;
  width: 100%;
}


/* 服务介绍卡片：毛玻璃样式由 glass-card 提供 */

/* 服务介绍：顶部主标题+副标题，黑色横线分割 */
.p-order-confirm .intro-head {
  padding-bottom: 8px;
}

.p-order-confirm .intro-main-title {
  font-size: 16px;
  font-weight: bold;
  color: #1a1a2e;
}

.p-order-confirm .intro-sub-title {
  font-size: 12px;
  color: #64748B;
  margin-top: 4px;
}

.p-order-confirm .intro-divider {
  height: 0.5px;
  background: rgba(0, 0, 0, 0.25);
  margin: 0 0 10px;
}


.p-order-confirm .section-title {
  display: flex;
  align-items: center;
  gap: 4px;
  margin-bottom: 8px;
}


.p-order-confirm .section-title:active {
  opacity: 0.7;
}


.p-order-confirm .title-text {
  font-size: 14px;
  font-weight: bold;
  color: #1a1a2e;
}


.p-order-confirm .required {
  font-size: 14px;
  color: #EF4444;
  font-weight: bold;
}


.p-order-confirm .optional {
  font-size: 12px;
  color: #999;
}


.p-order-confirm .expand-icon {
  margin-left: auto;
  font-size: 12px;
  color: #64748B;
  transition: transform 0.3s;
}


/* 输入区域（毛玻璃） */
.p-order-confirm .input-section {
  position: relative;
  margin: 0 15px 15px;
  padding: 15px;
  background: rgba(255, 255, 255, 0.6);
  -webkit-backdrop-filter: blur(12px) saturate(160%);
  backdrop-filter: blur(12px) saturate(160%);
  border: 0.5px solid rgba(255, 255, 255, 0.7);
  border-radius: 14px;
  box-shadow: 0 3px 12px rgba(0, 0, 0, 0.08);
  overflow: hidden;
}

.p-order-confirm .input-section::after {
  content: '';
  position: absolute;
  top: -40px;
  right: -40px;
  width: 120px;
  height: 120px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(255, 255, 255, 0.4) 0%, rgba(255, 255, 255, 0) 70%);
  pointer-events: none;
}


.p-order-confirm .game-id-input {
  width: 100%;
  min-height: 36px;
  padding: 8px 14px;
  background: rgba(255, 255, 255, 0.6);
  border-radius: 8px;
  font-size: 16px;
  color: #1a1a2e;
  border: 1px solid rgba(100, 116, 139, 0.35);
  /* 灰色边 */
    box-sizing: border-box;
  line-height: 1.5;
}


.p-order-confirm .game-id-input:focus {
  border-color: rgba(100, 116, 139, 0.6);
  background: rgba(255,255,255,0.8);
}


.p-order-confirm .game-id-input::placeholder {
  color: rgba(30, 40, 60, 0.45);
  font-size: 14px;
}


/* 服务详情滚动容器（带边框框） */
.p-order-confirm .intro-scroll {
  position: relative;
  border: 0.5px solid rgba(100, 116, 139, 0.35);
  background: rgba(255, 255, 255, 0.35);
  border-radius: 8px;
  padding: 10px 12px;
}

.p-order-confirm .intro-text {
  height: 70px;
  /* 默认3行高度 */
    width: 100%;
  box-sizing: border-box;
}

.p-order-confirm .intro-text-inner {
  font-size: 13px;
  color: #475569;
  line-height: 1.8;
  white-space: pre-line;
  /* 保留换行符 */
    padding-right: 8px;
}

/* 服务详情底部渐变引导（V字白色发光箭头） */
.p-order-confirm .intro-fade {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 22px;
  background: linear-gradient(180deg, rgba(148,163,184,0) 0%, rgba(148,163,184,0.88) 100%);
  pointer-events: none;
  border-radius: 0 0 8px 8px;
  opacity: 0;
  transition: opacity 0.3s;
  display: flex;
  align-items: flex-end;
  justify-content: center;
}

.p-order-confirm .intro-fade::after {
  content: '';
  width: 8px;
  height: 8px;
  border-right: 2px solid rgba(255,255,255,0.95);
  border-bottom: 2px solid rgba(255,255,255,0.95);
  transform: rotate(45deg);
  margin-bottom: 5px;
}

.p-order-confirm .intro-scroll.has-overflow .intro-fade {
  opacity: 1;
}


/* 商品折叠内容 */
.p-order-confirm .product-content {
  animation: slideDown 0.3s ease-out;
}


@keyframes slideDown  {
  from {
    opacity: 0;
    max-height: 0;
  }

    to {
    opacity: 1;
    max-height: 1000px;
  }
}


/* 商品选择区域（毛玻璃） */
.p-order-confirm .product-section {
  position: relative;
  margin: 0 15px 15px;
  padding: 15px;
  background: rgba(255, 255, 255, 0.6);
  -webkit-backdrop-filter: blur(12px) saturate(160%);
  backdrop-filter: blur(12px) saturate(160%);
  border: 0.5px solid rgba(255, 255, 255, 0.7);
  border-radius: 14px;
  box-shadow: 0 3px 12px rgba(0, 0, 0, 0.08);
  overflow: hidden;
}

.p-order-confirm .product-section::after {
  content: '';
  position: absolute;
  top: -40px;
  right: -40px;
  width: 120px;
  height: 120px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(255, 255, 255, 0.4) 0%, rgba(255, 255, 255, 0) 70%);
  pointer-events: none;
}


.p-order-confirm .category-tabs {
  display: flex;
  gap: 8px;
  margin-bottom: 12px;
}


.p-order-confirm .category-tab {
  display: inline-flex;
  align-items: center;
  padding: 6px 12px;
  margin-right: 6px;
  background: rgba(255, 255, 255, 0.6);
  border: 0.5px solid rgba(255, 255, 255, 0.65);
  border-radius: 12px;
  font-size: 12px;
  color: #1e3a5f;
  flex-shrink: 0;
  transition: all 0.3s;
}


.p-order-confirm .category-tab.active {
  background: rgba(255, 255, 255, 0.85);
  color: #0f2440;
  font-weight: 600;
  border-color: rgba(255, 255, 255, 0.95);
  box-shadow: 0 1px 4px rgba(255,255,255,0.4);
}


/* 商品列表：容器框 + 足够显示一个商品，可向下滚动 */
.p-order-confirm .product-scroll {
  position: relative;
  background: rgba(255, 255, 255, 0.35);
  border-radius: 8px;
  padding: 0;
  overflow: hidden;
}

.p-order-confirm .product-scroll::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  border: 0.5px solid rgba(100, 116, 139, 0.35);
  border-radius: 8px;
  pointer-events: none;
  z-index: 10;
}

.p-order-confirm .product-list {
  height: 90px;
  /* 正好等于一个商品高度 */
    width: 100%;
  clip-path: inset(0 round 8px);
  padding-bottom: 12px;
  box-sizing: border-box;
}

/* 商品列表底部渐变引导（V字白色发光箭头） */
.p-order-confirm .product-fade {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 22px;
  background: linear-gradient(180deg, rgba(148,163,184,0) 0%, rgba(148,163,184,0.88) 100%);
  pointer-events: none;
  z-index: 12;
  border-radius: 0 0 8px 8px;
  opacity: 0;
  transition: opacity 0.3s;
  display: flex;
  align-items: flex-end;
  justify-content: center;
}

.p-order-confirm .product-fade::after {
  content: '';
  width: 8px;
  height: 8px;
  border-right: 2px solid rgba(255,255,255,0.95);
  border-bottom: 2px solid rgba(255,255,255,0.95);
  transform: rotate(45deg);
  margin-bottom: 4px;
}

.p-order-confirm .product-scroll.has-overflow .product-fade {
  opacity: 1;
}


.p-order-confirm .product-item {
  display: flex;
  align-items: center;
  width: 100%;
  padding: 12px 14px;
  background: transparent;
  /* 透明背景，滚动时不产生直角尖角穿出圆角 */
    border-bottom: 0.5px solid rgba(100, 116, 139, 0.15);
  /* 分隔线 */
    border-left: 3px solid transparent;
  transition: all 0.3s;
  position: relative;
}

.p-order-confirm .product-item:last-child {
  border-bottom: none;
}

.p-order-confirm .product-item.selected {
  background: rgba(255, 255, 255, 0.75);
  border-left: 3px solid #498AC7;
  border-radius: 8px;
}


.p-order-confirm .product-cover {
  width: 64px;
  height: 64px;
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-right: 10px;
  flex-shrink: 0;
  overflow: hidden;
  background: rgba(255, 255, 255, 0.65);
  border: 0.5px solid rgba(255, 255, 255, 0.7);
}


.p-order-confirm .product-cover-image {
  width: 100%;
  height: 100%;
  display: block;
}


.p-order-confirm .product-cover-fallback {
  background: rgba(255, 255, 255, 0.65);
  border: 0.5px solid rgba(255, 255, 255, 0.7);
}


.p-order-confirm .product-cover-text {
  font-size: 11px;
  color: #1e3a5f;
  font-weight: 600;
  padding: 0 4px;
  text-align: center;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  max-width: 100%;
}


.p-order-confirm .product-info {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 4px;
}


.p-order-confirm .product-title {
  font-size: 15px;
  font-weight: 600;
  color: #1a1a2e;
}


.p-order-confirm .product-short {
  font-size: 12px;
  color: #64748B;
}


.p-order-confirm .product-sales {
  font-size: 12px;
  color: #94A3B8;
}


.p-order-confirm .product-price {
  display: flex;
  align-items: baseline;
  gap: 2px;
}


.p-order-confirm .price-symbol {
  font-size: 12px;
  color: #EF4444;
  font-weight: bold;
}


.p-order-confirm .price-value {
  font-size: 16px;
  color: #EF4444;
  font-weight: bold;
}


.p-order-confirm .check-mark {
  position: absolute;
  top: 6px;
  right: 6px;
  width: 18px;
  height: 18px;
  background: rgba(255, 255, 255, 0.65);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 0.5px solid rgba(255,255,255,0.8);
}


.p-order-confirm .check-icon {
  font-size: 12px;
  color: #059669;
  font-weight: bold;
}


/* 备注区域（毛玻璃） */
.p-order-confirm .remark-section {
  position: relative;
  margin: 0 15px 15px;
  padding: 15px;
  background: rgba(255, 255, 255, 0.6);
  -webkit-backdrop-filter: blur(12px) saturate(160%);
  backdrop-filter: blur(12px) saturate(160%);
  border: 0.5px solid rgba(255, 255, 255, 0.7);
  border-radius: 14px;
  box-shadow: 0 3px 12px rgba(0, 0, 0, 0.08);
  overflow: hidden;
  /* 防止内容溢出 */;
}

.p-order-confirm .remark-section::after {
  content: '';
  position: absolute;
  top: -40px;
  right: -40px;
  width: 120px;
  height: 120px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(255, 255, 255, 0.4) 0%, rgba(255, 255, 255, 0) 70%);
  pointer-events: none;
}


.p-order-confirm .remark-scroll {
  position: relative;
}

.p-order-confirm .remark-input {
  display: block;
  width: 100%;
  height: 84px;
  /* 默认3行高度，固定高度以支持滚动检测 */
    padding: 10px 12px;
  background: rgba(255, 255, 255, 0.6);
  border-radius: 8px;
  font-size: 13px;
  color: #1a1a2e;
  border: 1px solid rgba(100, 116, 139, 0.35);
  /* 灰色边 */
    line-height: 1.6;
  box-sizing: border-box;
}


.p-order-confirm .remark-input:focus {
  border-color: #65B0E8;
  background: rgba(255,255,255,0.85);
}


/* 备注底部渐变引导（V字白色发光箭头） */
.p-order-confirm .remark-fade {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 22px;
  background: linear-gradient(180deg, rgba(148,163,184,0) 0%, rgba(148,163,184,0.88) 100%);
  pointer-events: none;
  border-radius: 0 0 8px 8px;
  opacity: 0;
  transition: opacity 0.3s;
  display: flex;
  align-items: flex-end;
  justify-content: center;
}

.p-order-confirm .remark-fade::after {
  content: '';
  width: 8px;
  height: 8px;
  border-right: 2px solid rgba(255,255,255,0.95);
  border-bottom: 2px solid rgba(255,255,255,0.95);
  transform: rotate(45deg);
  margin-bottom: 5px;
}

.p-order-confirm .remark-scroll.has-overflow .remark-fade {
  opacity: 1;
}


.p-order-confirm .remark-count {
  display: block;
  text-align: right;
  font-size: 11px;
  color: #94A3B8;
  margin-top: 6px;
  padding-right: 2px;
}


/* ===== 模拟服务详情页覆盖层（点击商品后进入，底部「选择」按钮） ===== */
.p-order-confirm .sd-overlay {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 200;
  background: linear-gradient(180deg, #E0F2FE 0%, #F0F9FF 50%, #FFFFFF 100%);
  display: flex;
  flex-direction: column;
  overflow: hidden;
}

.p-order-confirm .sd-nav {
  height: 44px;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 12px;
  background: rgba(255,255,255,0.6);
  -webkit-backdrop-filter: blur(12px) saturate(160%);
  backdrop-filter: blur(12px) saturate(160%);
  border-bottom: 0.5px solid rgba(255,255,255,0.7);
}

.p-order-confirm .sd-back {
  width: 30px;
  height: 30px;
  border-radius: 50%;
  background: rgba(255,255,255,0.65);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 20px;
  color: #1e3a5f;
  border: 0.5px solid rgba(255,255,255,0.8);
  line-height: 1;
}

.p-order-confirm .sd-nav-title {
  font-size: 16px;
  font-weight: 600;
  color: #1a1a2e;
}

.p-order-confirm .sd-nav-spacer {
  width: 30px;
}

.p-order-confirm .sd-content {
  flex: 1;
  height: 0;
  overflow-y: auto;
  padding: 12px;
}

.p-order-confirm .sd-head {
  display: flex;
  align-items: center;
}

.p-order-confirm .sd-cover {
  width: 64px;
  height: 64px;
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.65);
  border: 0.5px solid rgba(255, 255, 255, 0.7);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 13px;
  font-weight: 600;
  color: #1e3a5f;
  margin-right: 12px;
  flex-shrink: 0;
  text-align: center;
}

.p-order-confirm .sd-info {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 5px;
}

.p-order-confirm .sd-main-title {
  font-size: 16px;
  font-weight: bold;
  color: #1a1a2e;
}

.p-order-confirm .sd-sub-title {
  font-size: 12px;
  color: #64748B;
}

.p-order-confirm .sd-sales {
  font-size: 11px;
  color: #94A3B8;
}

.p-order-confirm .sd-bottom {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 12px 15px;
  background: rgba(255,255,255,0.6);
  -webkit-backdrop-filter: blur(14px) saturate(160%);
  backdrop-filter: blur(14px) saturate(160%);
  border-top: 0.5px solid rgba(255,255,255,0.7);
  box-shadow: 0 -2px 12px rgba(0,0,0,0.08);
}

.p-order-confirm .sd-price-box {
  display: flex;
  align-items: baseline;
  gap: 6px;
}

.p-order-confirm .sd-price-label {
  font-size: 12px;
  color: #64748B;
}

.p-order-confirm .sd-price {
  font-size: 20px;
  color: #EF4444;
  font-weight: bold;
}

.p-order-confirm .sd-select-btn {
  padding: 10px 30px;
  background: linear-gradient(135deg, #65B0E8, #498AC7);
  color: #fff;
  font-size: 15px;
  font-weight: bold;
  border-radius: 20px;
  border: 0.5px solid rgba(255,255,255,0.4);
  box-shadow: 0 2px 8px rgba(73,138,199,0.45);
  transition: all 0.3s;
}

.p-order-confirm .sd-select-btn:active {
  transform: scale(0.95);
}


/* 底部操作栏（流体玻璃） */
.p-order-confirm .bottom-bar {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  padding: 10px 15px;
  background: rgba(255, 255, 255, 0.6);
  -webkit-backdrop-filter: blur(14px) saturate(160%);
  backdrop-filter: blur(14px) saturate(160%);
  border-top: 0.5px solid rgba(255, 255, 255, 0.7);
  box-shadow: 0 -2px 12px rgba(0, 0, 0, 0.08);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  z-index: 100;
}


.p-order-confirm .order-summary {
  flex: 1;
  display: flex;
  align-items: baseline;
  gap: 4px;
}


.p-order-confirm .summary-label {
  font-size: 13px;
  color: #1e3a5f;
  font-weight: 500;
}


.p-order-confirm .summary-price {
  font-size: 20px;
  color: #EF4444;
  font-weight: bold;
}


.p-order-confirm .summary-price-empty {
  font-size: 13px;
  color: #64748B;
}


.p-order-confirm .confirm-btn {
  padding: 10px 24px;
  background: rgba(255, 255, 255, 0.7);
  -webkit-backdrop-filter: blur(10px) saturate(160%);
  backdrop-filter: blur(10px) saturate(160%);
  color: #1e3a5f;
  font-size: 14px;
  font-weight: bold;
  border-radius: 20px;
  border: 0.5px solid rgba(255, 255, 255, 0.8);
  box-shadow: 0 2px 8px rgba(255, 255, 255, 0.25);
  transition: all 0.3s;
}


.p-order-confirm .confirm-btn:active {
  transform: scale(0.95);
  box-shadow: 0 1px 4px rgba(255, 255, 255, 0.15);
}


/* ========== 隐私协议弹窗样式 ========== */
.p-order-confirm .privacy-modal {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 99999;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px;
}


.p-order-confirm .privacy-mask {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(15, 23, 42, 0.75);
}


.p-order-confirm .privacy-card {
  position: relative;
  width: 100%;
  max-width: 310px;
  background: rgba(255, 255, 255, 0.97);
  border-radius: 14px;
  padding: 20px 16px 16px;
  border: 1px solid rgba(255, 255, 255, 0.7);
  box-shadow:
      0 12px 40px rgba(30, 64, 175, 0.35),
      0 0 0 1px rgba(255, 255, 255, 0.4) inset;
  overflow: hidden;
}


.p-order-confirm .privacy-card::before {
  content: '';
  position: absolute;
  top: -40px;
  right: -40px;
  width: 120px;
  height: 120px;
  background: radial-gradient(circle, rgba(59, 130, 246, 0.22) 0%, transparent 70%);
  border-radius: 50%;
  pointer-events: none;
}


.p-order-confirm .privacy-card::after {
  content: '';
  position: absolute;
  bottom: -30px;
  left: -30px;
  width: 100px;
  height: 100px;
  background: radial-gradient(circle, rgba(99, 102, 241, 0.18) 0%, transparent 70%);
  border-radius: 50%;
  pointer-events: none;
}


.p-order-confirm .privacy-header {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  margin-bottom: 14px;
}


.p-order-confirm .privacy-title {
  font-size: 16px;
  font-weight: 700;
  color: #1e293b;
  margin-bottom: 3px;
  letter-spacing: 1px;
}


.p-order-confirm .privacy-subtitle {
  font-size: 11px;
  color: #64748b;
  letter-spacing: 0.5px;
}


.p-order-confirm .privacy-body {
  position: relative;
  z-index: 1;
  background: rgba(255, 255, 255, 0.72);
  border-radius: 10px;
  padding: 14px 14px 12px;
  margin-bottom: 14px;
  border: 1px solid rgba(59, 130, 246, 0.12);
}


.p-order-confirm .privacy-content {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  margin-bottom: 8px;
  line-height: 1.8;
}


.p-order-confirm .privacy-text {
  font-size: 12px;
  color: #475569;
  line-height: 1.8;
}


.p-order-confirm .privacy-link {
  font-size: 12px;
  color: #3B82F6;
  font-weight: 600;
  text-decoration: underline;
  margin: 0 1px;
}


.p-order-confirm .privacy-footer-text {
  text-align: center;
  padding-top: 10px;
  margin-top: 8px;
  border-top: 1px solid rgba(148, 163, 184, 0.18);
}


.p-order-confirm .privacy-footer-text span {
  font-size: 11px;
  color: #94a3b8;
}


/* 风险提示正文行（D3）：两排短句，居中，行距舒适 */
.p-order-confirm .risk-line {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 2px 0;
}


.p-order-confirm .risk-line-text {
  font-size: 12px;
  color: #5b6b80;
  line-height: 1.7;
  text-align: center;
  word-break: break-all;
}


/* 风险告知书链接（D3）：融入正文末尾的内联链接，与正文同色系，不换行 */
.p-order-confirm .risk-link-text {
  font-size: 12px !important;
  color: #5B7C99 !important;
  white-space: nowrap;
}


/* 同意按钮：柔和一点的蓝，降低高亮感 */
.p-order-confirm .privacy-btn-agree {
  background: linear-gradient(135deg, #5B9BD5, #3B82F6);
  color: #fff;
  box-shadow: 0 2px 7px rgba(59, 130, 246, 0.22);
}


.p-order-confirm .privacy-buttons {
  position: relative;
  z-index: 1;
  display: flex;
  gap: 10px;
}


.p-order-confirm .privacy-btn {
  flex: 1;
  padding: 12px 0;
  text-align: center;
  border-radius: 8px;
  font-size: 14px;
  font-weight: 600;
  transition: all 0.2s;
}


.p-order-confirm .privacy-btn:active {
  transform: scale(0.96);
}


.p-order-confirm .privacy-btn-reject {
  background: rgba(148, 163, 184, 0.15);
  color: #64748b;
  border: 1px solid rgba(148, 163, 184, 0.25);
}


.p-order-confirm .privacy-btn-agree {
  background: linear-gradient(135deg, #3B82F6, #2563EB);
  color: #fff;
  box-shadow: 0 3px 10px rgba(59, 130, 246, 0.35);
}

/* ==================== pages/pay-result/pay-result.wxss —— 支付结果（网页版支付完成后跳这里）（作用域 .p-pay-result） ==================== */
.p-pay-result .page {
  min-height: 100vh;
  background: linear-gradient(180deg, #C3EDFC 0%, #A4DDF8 20%, #8BCBF1 40%, #65B0E8 70%, #498AC7 100%);
  padding: 20px 15px;
}


/* ===== 流体玻璃卡片 ===== */
.p-pay-result .result-card {
  position: relative;
  background: rgba(255, 255, 255, 0.35);
  -webkit-backdrop-filter: blur(10px) saturate(160%);
  backdrop-filter: blur(10px) saturate(160%);
  border: 0.5px solid rgba(255, 255, 255, 0.5);
  border-radius: 20px;
  padding: 30px 20px;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1);
  margin-top: 60px;
  overflow: hidden;
}


/* 玻璃内高光亮点 */
.p-pay-result .result-card::after {
  content: '';
  position: absolute;
  top: -40px;
  right: -40px;
  width: 140px;
  height: 140px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(255, 255, 255, 0.4) 0%, rgba(255, 255, 255, 0) 70%);
  pointer-events: none;
}


/* 让卡片内容浮在玻璃效果之上 */
.p-pay-result .result-card > div, .p-pay-result .result-card > button {
  position: relative;
  z-index: 1;
}


/* ===== 成功图标：绿色圆环进度条 + 黑色描边勾（Canvas 绘制） ===== */
.p-pay-result .icon-wrapper {
  position: relative;
  width: 96px;
  height: 96px;
  border-radius: 50%;
  background: #ffffff;
  margin: 12px auto 18px;
  box-shadow: 0 4px 12px rgba(34, 197, 94, 0.18);
}


.p-pay-result .ring-canvas {
  width: 96px;
  height: 96px;
}


.p-pay-result .title {
  text-align: center;
  font-size: 22px;
  font-weight: bold;
  color: #1a1a2e;
  margin-bottom: 8px;
}


.p-pay-result .subtitle {
  text-align: center;
  font-size: 13px;
  color: #666;
  margin-bottom: 24px;
}


/* ===== 透蓝玻璃信息框 ===== */
.p-pay-result .info-box {
  background: rgba(255, 255, 255, 0.35);
  -webkit-backdrop-filter: blur(14px) saturate(160%);
  backdrop-filter: blur(14px) saturate(160%);
  border: 0.5px solid rgba(255, 255, 255, 0.4);
  border-radius: 12px;
  padding: 15px;
  margin-bottom: 25px;
}


.p-pay-result .info-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 8px 0;
  border-bottom: 1px solid rgba(255, 255, 255, 0.45);
}


.p-pay-result .info-row:last-child {
  border-bottom: none;
}


.p-pay-result .info-label {
  color: #666;
  font-size: 14px;
  flex-shrink: 0;
}


.p-pay-result .info-value {
  color: #1a1a2e;
  font-size: 14px;
  font-weight: 600;
  text-align: right;
  max-width: 60%;
  word-break: break-all;
}


/* 订单号：单行完整显示，不换行 */
.p-pay-result .order-no-row .info-label {
  flex-shrink: 0;
}


.p-pay-result .info-value.order-no {
  max-width: none;
  word-break: normal;
  white-space: nowrap;
  font-size: 14px;
  font-weight: 600;
  letter-spacing: 0.5px;
  margin-left: 8px;
}


/* 商品行：分类(≤5字) · 主标题(≤10字) 强制单行，超出省略号 */
.p-pay-result .info-value.product-name {
  display: block;
  max-width: 100%;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}


/* 商品信息容器：主标题 + 副标题（右对齐） */
.p-pay-result .product-box {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  max-width: 72%;
}


/* 商品副标题：灰色小字 */
.p-pay-result .product-sub {
  font-size: 12px;
  color: #94A3B8;
  margin-top: 3px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 100%;
}


.p-pay-result .info-value.price {
  color: #ff6b35;
  font-size: 16px;
}


.p-pay-result .info-value.status {
  color: #e53935;
  font-weight: 600;
}


/* ===== 白色玻璃按钮 + 按下回弹 ===== */
.p-pay-result .btn-primary {
  width: 100%;
  height: 45px;
  line-height: 45px;
  background: rgba(255, 255, 255, 0.32);
  -webkit-backdrop-filter: blur(10px) saturate(160%);
  backdrop-filter: blur(10px) saturate(160%);
  border: 0.5px solid rgba(255, 255, 255, 0.55);
  color: #1a1a2e;
  font-size: 16px;
  font-weight: 600;
  border-radius: 22.5px;
  box-shadow: 0 3px 10px rgba(255, 255, 255, 0.2);
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: transform 0.18s cubic-bezier(0.34, 1.56, 0.64, 1);
}


.p-pay-result .btn-primary::after {
  border: none;
}


/* 按压缩小 + 松手回弹 */
.p-pay-result .btn-press {
  transform: scale(0.93);
  opacity: 0.85;
}

/* ==================== pages/order/order.wxss —— 订单列表（作用域 .p-order） ==================== */
/* pages/order/order.wxss */

/* 🔴 页面级渐变背景：让微信自带下拉刷新动画显示在渐变背景上 */
.p-order, .p-order {
  background: linear-gradient(180deg, #C3EDFC 0%, #A4DDF8 20%, #8BCBF1 40%, #65B0E8 70%, #498AC7 100%);
}


.p-order .page {
  min-height: 100vh;
  position: relative;
}


.p-order .page-bg {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: linear-gradient(180deg, #C3EDFC 0%, #A4DDF8 20%, #8BCBF1 40%, #65B0E8 70%, #498AC7 100%);
  z-index: 0;
}


/* 🔴 移除自定义滚动容器：改为页面原生滚动，微信自带下拉刷新（enablePullDownRefresh）才能正常触发 */
.p-order .main-scroll {
  position: relative;
  z-index: 1;
  padding-bottom: calc(20px + env(safe-area-inset-bottom));
}


/* ========== 状态筛选项 ========== */
.p-order .status-tabs {
  display: flex;
  flex-wrap: nowrap;
  gap: 2px;
  padding: 5px;
  margin: 8px 6px 6px;
  box-sizing: border-box;
  background: rgba(255, 255, 255, 0.55);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  border-radius: 16px;
  border: 1px solid rgba(255, 255, 255, 0.7);
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.08);
}


.p-order .status-tab {
  flex: 1;
  min-width: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 34px;
  gap: 2px;
  padding: 0 1px;
  white-space: nowrap;
  background: rgba(255, 255, 255, 0.45);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  border-radius: 17px;
  font-size: 13px;
  color: #556677;
  transition: all 0.25s ease;
  border: 1px solid transparent;
  box-sizing: border-box;
}


.p-order .status-tab.active {
  background: #fff;
  color: #1e3a5f;
  font-weight: 700;
  border-color: rgba(101, 176, 232, 0.5);
  box-shadow: 0 2px 8px rgba(101, 176, 232, 0.25);
  transform: translateY(-1px);
}


.p-order .tab-name {
  line-height: 1;
}


.p-order .tab-count {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 15px;
  height: 15px;
  padding: 0 3px;
  background: #ff4d4f;
  color: #fff;
  font-size: 10px;
  font-weight: 700;
  border-radius: 8px;
  line-height: 1;
  flex-shrink: 0;
}


.p-order .status-tab.active .tab-count {
  background: #65B0E8;
}


/* ========== 订单列表 ========== */
.p-order .order-list {
  padding: 0 12px;
}


.p-order .order-card {
  background: rgba(255, 255, 255, 0.92);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  border-radius: 10px;
  margin-bottom: 10px;
  overflow: hidden;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.06);
  /* 🔴 细边框：默认白色，按订单状态着色（去掉左侧颜色条） */
    border: 1px solid rgba(255, 255, 255, 0.6);
  transition: transform 0.2s ease;
}


/* 🔴 卡片按压缩放：由 hover-class 控制（配合按钮 hover-stop-propagation 实现交互隔离） */
.p-order .card-press {
  transform: scale(0.985);
}


/* 卡片顶部区域 */
.p-order .card-top {
  display: flex;
  padding: 0;
}


/* 🔴 订单状态细边框颜色 */
.p-order .card-pending {
  border-color: #E53935;
}
        /* 待接单 红 */
.p-order .card-ongoing {
  border-color: #F5C518;
}
        /* 进行中 黄 */
.p-order .card-confirming {
  border-color: #3B82F6;
}
     /* 待确认 蓝 */
.p-order .card-completed {
  border-color: #22C55E;
}
      /* 已完成 绿 */
.p-order .card-cancelled {
  border-color: #E53935;
}
      /* 已取消 红 */
.p-order .card-unpaid {
  border-color: #fa8c16;
}


/* 删除按钮 */
.p-order .card-delete {
  position: absolute;
  top: 6px;
  right: 8px;
  width: 22px;
  height: 22px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 14px;
  color: #999;
  background: rgba(0, 0, 0, 0.04);
  border-radius: 50%;
  z-index: 10;
}


.p-order .card-delete:active {
  background: rgba(255, 77, 79, 0.15);
  color: #ff4d4f;
}


.p-order .card-main {
  flex: 1;
  padding: 12px 12px 0;
  min-width: 0;
}


.p-order .card-title-row {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 8px;
}


.p-order .card-title {
  flex: 1;
  font-size: 15px;
  font-weight: 700;
  color: #1a1a2e;
  line-height: 1.4;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}


.p-order .card-status {
  flex-shrink: 0;
  font-size: 11px;
  font-weight: 600;
  padding: 3px 8px;
  border-radius: 10px;
  line-height: 1.3;
}


.p-order .status-pending {
  background: rgba(90, 158, 200, 0.12);
  color: #5A9EC8;
}

.p-order .status-ongoing {
  background: rgba(82, 196, 26, 0.12);
  color: #389e0d;
}

.p-order .status-completed {
  background: rgba(123, 119, 158, 0.12);
  color: #7B779E;
}

.p-order .status-unpaid {
  background: rgba(250, 140, 22, 0.12);
  color: #d46b08;
}

.p-order .status-cancelled {
  background: rgba(229, 57, 53, 0.12);
  color: #E53935;
}

.p-order .status-confirming {
  background: rgba(155, 125, 147, 0.12);
  color: #9B7D93;
}

.p-order .status-waiting-sync {
  background: rgba(245, 158, 11, 0.12);
  color: #b45309;
}

.p-order .status-cancel-request {
  background: rgba(229, 57, 53, 0.12);
  color: #E53935;
}


.p-order .card-spec {
  font-size: 12px;
  color: #888;
  margin-top: 4px;
  line-height: 1.4;
}


/* 🔴 副标题（待接单订单主标题下方） */
.p-order .card-short-title {
  font-size: 12px;
  color: #000;
  margin-top: 4px;
  line-height: 1.4;
}


/* 🔴 商品图片预览（订单卡） */
.p-order .card-product-preview {
  width: 100%;
  height: 100px;
  border-radius: 7px;
  overflow: hidden;
  margin-top: 5px;
  border: 1px solid rgba(101, 176, 232, 0.25);
  box-sizing: border-box;
}


.p-order .card-product-img {
  width: 100%;
  height: 100%;
  display: block;
}


.p-order .card-product-fallback {
  width: 100%;
  height: 100%;
}


.p-order .card-meta {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 5px;
}


.p-order .card-meta.has-delete {
  padding-right: 30px;
}


.p-order .card-no {
  font-size: 12px;
  color: #555;
  font-family: monospace;
  font-weight: 500;
}


.p-order .card-time {
  font-size: 11px;
  color: #bbb;
  margin-left: auto;
}


/* 备注 */
.p-order .card-remark {
  display: flex;
  align-items: flex-start;
  margin-top: 4px;
  padding: 4px 7px;
  background: #FFFBE6;
  border-radius: 4px;
  border-left: 1.5px solid #faad14;
}


.p-order .remark-text {
  color: #8c6d00;
  font-size: 11px;
  line-height: 1.5;
  word-break: break-all;
}


/* 取消原因 */
.p-order .card-cancel {
  margin-top: 5px;
  background: #FFF1F0;
  border-radius: 4px;
  overflow: hidden;
}


.p-order .cancel-toggle {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 5px 7px;
}


.p-order .cancel-label {
  font-size: 11px;
  color: #E53935;
  font-weight: 600;
}


.p-order .cancel-arrow {
  font-size: 10px;
  color: #E53935;
}


.p-order .cancel-detail {
  padding: 0 7px 7px;
  border-top: 0.5px solid rgba(229, 57, 53, 0.1);
}


.p-order .cancel-text {
  display: block;
  color: #B71C1C;
  font-size: 11px;
  line-height: 1.5;
  margin-top: 5px;
  word-break: break-all;
}


.p-order .cancel-time {
  display: block;
  color: #999;
  font-size: 10px;
  margin-top: 3px;
}


/* 陪玩信息 */
.p-order .card-booster {
  display: flex;
  align-items: center;
  margin-top: 6px;
  padding: 6px 7px;
  background: rgba(101, 176, 232, 0.06);
  border-radius: 5px;
}


.p-order .booster-avatar-img {
  width: 26px;
  height: 26px;
  border-radius: 50%;
  margin-right: 6px;
  flex-shrink: 0;
  border: 1px solid rgba(101, 176, 232, 0.3);
}


.p-order .booster-avatar-icon {
  font-size: 20px;
  margin-right: 6px;
  flex-shrink: 0;
  width: 26px;
  height: 26px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(101, 176, 232, 0.12);
  border-radius: 50%;
}


.p-order .booster-detail {
  flex: 1;
  min-width: 0;
}


.p-order .booster-name {
  display: block;
  font-size: 12px;
  color: #333;
  font-weight: 600;
}


.p-order .booster-id-row {
  display: flex;
  align-items: center;
  gap: 4px;
  margin-top: 1px;
}


.p-order .booster-id {
  font-size: 10px;
  color: #999;
  font-family: monospace;
}


.p-order .booster-id-hint {
  font-size: 9px;
  color: #bbb;
  background: rgba(0, 0, 0, 0.04);
  padding: 1px 4px;
  border-radius: 3px;
}


/* 卡片底部 */
.p-order .card-bottom {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 10px 12px;
  border-top: 0.5px solid rgba(0, 0, 0, 0.04);
  margin-top: 2px;
}


.p-order .card-price {
  display: flex;
  align-items: baseline;
  gap: 1px;
}


.p-order .price-label {
  font-size: 10px;
  color: #bbb;
  margin-right: 3px;
}


.p-order .price-symbol {
  font-size: 11px;
  color: #ff4d4f;
  font-weight: 600;
}


.p-order .price-value {
  font-size: 17px;
  color: #ff4d4f;
  font-weight: 800;
  letter-spacing: -0.5px;
}


/* 操作按钮 */
.p-order .card-actions {
  display: flex;
  align-items: center;
  gap: 5px;
  flex-wrap: wrap;
  justify-content: flex-end;
}


.p-order .act-btn {
  padding: 6px 11px;
  border-radius: 12px;
  font-size: 11px;
  font-weight: 600;
  line-height: 1.3;
  white-space: nowrap;
  transition: all 0.2s ease;
}


/* 🔴 按钮按压缩放：hover-class 控制（hover-stop-propagation 阻止卡片联动） */
.p-order .btn-press {
  transform: scale(0.95);
  opacity: 0.85;
}


.p-order .act-cancel {
  background: rgba(0, 0, 0, 0.04);
  color: #999;
  border: 0.5px solid rgba(0, 0, 0, 0.08);
}


/* 🔴 联系客户：透明红色强调按钮 + 白色文字 */
.p-order .act-chat {
  background: rgba(239, 68, 68, 0.16);
  color: #fff;
  border: 0.5px solid rgba(239, 68, 68, 0.5);
}


.p-order .act-contact {
  background: rgba(0, 0, 0, 0.04);
  color: #666;
  border: 0.5px solid rgba(0, 0, 0, 0.08);
  padding: 6px 11px;
  font-size: 11px;
  line-height: 1.3;
  border-radius: 12px;
  min-height: 0;
}


.p-order .act-contact::after {
  border: none;
}


.p-order .act-primary {
  background: linear-gradient(135deg, #65B0E8, #498AC7);
  color: #fff;
  border: none;
  box-shadow: 0 2px 6px rgba(101, 176, 232, 0.3);
}


.p-order .act-pulse {
  animation: btn-pulse 2s infinite;
}


@keyframes btn-pulse  {
  0%, 100% {
    box-shadow: 0 2px 6px rgba(101, 176, 232, 0.3);
  }

    50% {
    box-shadow: 0 2px 12px rgba(101, 176, 232, 0.55);
  }
}


.p-order .act-outline {
  background: transparent;
  color: #65B0E8;
  border: 1px solid #65B0E8;
}


.p-order .confirm-row {
  display: flex;
  align-items: flex-end;
  gap: 5px;
}


.p-order .confirm-group {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 3px;
}


.p-order .confirm-timer {
  font-size: 10px;
  color: #fa8c16;
  background: rgba(250, 140, 22, 0.08);
  padding: 2px 6px;
  border-radius: 6px;
}


/* 空状态 */
.p-order .empty-state {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 60px 0 30px;
}


.p-order .empty-icon-wrap {
  width: 80px;
  height: 80px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.4);
  backdrop-filter: blur(5px);
  -webkit-backdrop-filter: blur(5px);
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 16px;
}


.p-order .empty-icon {
  font-size: 36px;
}


.p-order .empty-title {
  font-size: 16px;
  font-weight: 700;
  color: #1e3a5f;
  margin-bottom: 5px;
}


.p-order .empty-sub {
  font-size: 12px;
  color: rgba(30, 58, 95, 0.5);
  margin-bottom: 20px;
}


.p-order .empty-btn {
  background: linear-gradient(135deg, #65B0E8, #498AC7);
  color: #fff;
  padding: 10px 32px;
  border-radius: 20px;
  font-size: 14px;
  font-weight: 600;
  box-shadow: 0 4px 12px rgba(101, 176, 232, 0.35);
}


.p-order .bottom-safe {
  height: 20px;
}

/* ==================== pages/mine/mine.wxss —— 我的（作用域 .p-mine） ==================== */
/* pages/mine/mine.wxss */

/* 🔴 页面级渐变背景：微信自带下拉刷新动画显示在渐变背景上 */
.p-mine, .p-mine {
  background-color: #C3EDFC;
  background-image: linear-gradient(180deg, #C3EDFC 0%, #A4DDF8 20%, #8BCBF1 40%, #65B0E8 70%, #498AC7 100%);
}


.p-mine .page {
  min-height: 100vh;
  position: relative;
  display: flex;
  flex-direction: column;
  box-sizing: border-box;
}


/* 🔴 移除自定义滚动容器：改为页面原生滚动，微信自带下拉刷新（enablePullDownRefresh）才能正常触发 */
.p-mine .page-content {
  position: relative;
  z-index: 1;
  padding-bottom: calc(70px + env(safe-area-inset-bottom));
  box-sizing: border-box;
}


.p-mine .page-bg {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: linear-gradient(180deg, #C3EDFC 0%, #A4DDF8 20%, #8BCBF1 40%, #65B0E8 70%, #498AC7 100%);
  z-index: 0;
}


/* 顶部操作栏 */
.p-mine .top-bar {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 8px;
  padding: 15px 15px 5px;
  position: relative;
  z-index: 3;
}


.p-mine .top-btn {
  padding: 6px 14px;
  border-radius: 14px;
  font-size: 13px;
  font-weight: 700;
  background: rgba(255, 255, 255, 0.95);
  color: #1e3a8a;
  border: 1px solid rgba(255, 255, 255, 0.9);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  box-shadow:
      0 2px 8px rgba(30, 58, 138, 0.25),
      inset 0 0.5px 0 rgba(255, 255, 255, 0.9);
  transition: all 0.2s ease;
}


.p-mine .top-btn:active {
  transform: scale(0.94);
  box-shadow: 0 1px 4px rgba(30, 58, 138, 0.15);
}


.p-mine .top-btn-setting {
  background: rgba(30, 58, 138, 0.92);
  color: #ffffff;
  border-color: rgba(255, 255, 255, 0.4);
  box-shadow:
      0 2px 8px rgba(30, 58, 138, 0.4),
      inset 0 0.5px 0 rgba(255, 255, 255, 0.3);
}


/* 用户卡片 */
.p-mine .user-section {
  padding: 10px 10px 20px;
  position: relative;
  z-index: 2;
}


.p-mine .user-card {
  position: relative;
  border-radius: 12px;
  padding: 18px 14px;
  min-height: 150px;
  overflow: visible;
  display: flex;
  justify-content: space-between;
  align-items: stretch;
}


.p-mine .card-bg-toggle {
  position: absolute;
  top: 6px;
  right: 6px;
  height: 20px;
  padding: 0 7px;
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.6);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 10;
  border: 0.5px solid rgba(0, 0, 0, 0.08);
}


.p-mine .card-bg-toggle:active {
  background: rgba(255, 255, 255, 0.85);
  transform: scale(0.92);
}


.p-mine .card-bg-toggle-text {
  font-size: 10px;
  color: #666;
  line-height: 1;
}


/* V1 - 浅白银卡片 */
.p-mine .user-card-V1 {
  background: linear-gradient(135deg, #FCFCFD 0%, #F5F5F8 50%, #E8E8F0 100%);
  border: 1px solid #C8C8D0;
  box-shadow:
      0 4px 16px rgba(180, 180, 192, 0.15),
      0 2px 8px rgba(180, 180, 192, 0.08),
      inset 0 0.5px 0 rgba(255, 255, 255, 0.9);
}


/* V2 - 白银卡片 */
.p-mine .user-card-V2 {
  background: linear-gradient(135deg, #FAFAFB 0%, #EEF0F5 50%, #DDE0E8 100%);
  border: 1px solid #B8B8C8;
  box-shadow:
      0 4px 16px rgba(184, 184, 200, 0.22),
      0 2px 8px rgba(184, 184, 200, 0.12),
      inset 0 0.5px 0 rgba(255, 255, 255, 0.9);
}


/* V3 - 黄金卡片 */
.p-mine .user-card-V3 {
  background: linear-gradient(135deg, #FFFAE0 0%, #FFF0B8 50%, #FFE082 100%);
  border: 1px solid #FFD700;
  box-shadow:
      0 4px 16px rgba(255, 215, 0, 0.25),
      0 2px 8px rgba(255, 215, 0, 0.15),
      inset 0 0.5px 0 rgba(255, 255, 255, 0.95);
}


/* V4 - 铂金卡片 */
.p-mine .user-card-V4 {
  background: linear-gradient(135deg, #E8F5F5 0%, #CFE8E8 50%, #A8D0D0 100%);
  border: 1px solid #68B8B8;
  box-shadow:
      0 4px 16px rgba(104, 184, 184, 0.25),
      0 2px 8px rgba(104, 184, 184, 0.12),
      inset 0 0.5px 0 rgba(255, 255, 255, 0.9);
}


/* V5 - 钻石卡片 */
.p-mine .user-card-V5 {
  background: linear-gradient(135deg, #E8F0FB 0%, #CFDCF2 50%, #9BC1E8 100%);
  border: 1px solid #4A90E2;
  box-shadow:
      0 4px 16px rgba(74, 144, 226, 0.28),
      0 2px 8px rgba(74, 144, 226, 0.15),
      inset 0 0.5px 0 rgba(255, 255, 255, 0.9);
}


/* V6 - 星耀卡片 */
.p-mine .user-card-V6 {
  background: linear-gradient(135deg, #F3E8FD 0%, #E1C8F5 50%, #C8A5EC 100%);
  border: 1px solid #9966CC;
  box-shadow:
      0 4px 16px rgba(153, 102, 204, 0.28),
      0 2px 8px rgba(153, 102, 204, 0.15),
      inset 0 0.5px 0 rgba(255, 255, 255, 0.9);
}


/* V7 - 王者卡片 */
.p-mine .user-card-V7 {
  background: linear-gradient(135deg, #FDE7F2 0%, #F8C0DC 50%, #F09BC2 100%);
  border: 1px solid #C71585;
  box-shadow:
      0 4px 16px rgba(199, 21, 133, 0.3),
      0 2px 8px rgba(199, 21, 133, 0.18),
      inset 0 0.5px 0 rgba(255, 255, 255, 0.9);
}


/* V8 - 星光卡片 */
.p-mine .user-card-V8 {
  background: linear-gradient(135deg, #1a1a4e 0%, #2d2d7a 50%, #4a4ac7 100%);
  border: 1px solid #7a7aff;
  box-shadow:
      0 4px 16px rgba(122, 122, 255, 0.35),
      0 2px 8px rgba(122, 122, 255, 0.2),
      inset 0 0.5px 0 rgba(255, 255, 255, 0.3);
}


/* A - 隐藏等级（琥珀金） */
.p-mine .user-card-A {
  background: linear-gradient(135deg, #0F0C08 0%, #2D2418 50%, #4A3A20 100%);
  border: 1px solid #FF8C42;
  box-shadow:
      0 4px 16px rgba(255, 140, 66, 0.4),
      0 2px 8px rgba(255, 140, 66, 0.25),
      inset 0 0.5px 0 rgba(255, 180, 100, 0.3);
}


/* S - 隐藏等级（赤焰红） */
.p-mine .user-card-S {
  background: linear-gradient(135deg, #140A0A 0%, #3A1414 50%, #6B1F1F 100%);
  border: 1px solid #FF3B3B;
  box-shadow:
      0 4px 16px rgba(255, 59, 59, 0.45),
      0 2px 8px rgba(255, 59, 59, 0.3),
      inset 0 0.5px 0 rgba(255, 120, 120, 0.35);
}


/* SS - 隐藏等级（血月橙） */
.p-mine .user-card-SS {
  background: linear-gradient(135deg, #1A0A05 0%, #3D1A0F 50%, #7A2E18 100%);
  border: 1px solid #FF6B1F;
  box-shadow:
      0 4px 16px rgba(255, 107, 31, 0.5),
      0 2px 8px rgba(255, 107, 31, 0.3),
      inset 0 0.5px 0 rgba(255, 150, 80, 0.4);
}


/* SSS - 隐藏等级（暮光金） */
.p-mine .user-card-SSS {
  background: linear-gradient(135deg, #1F1405 0%, #3D2A0F 40%, #6B4A18 100%);
  border: 1px solid #FFAA3B;
  box-shadow:
      0 4px 16px rgba(255, 170, 59, 0.55),
      0 2px 8px rgba(255, 170, 59, 0.35),
      inset 0 0.5px 0 rgba(255, 200, 120, 0.45);
}


/* 隐藏等级卡片通用光效 */
.p-mine .hidden-rank-card::before {
  content: '';
  position: absolute;
  top: -20px;
  right: -20px;
  width: 130px;
  height: 130px;
  background: radial-gradient(circle, rgba(255, 200, 100, 0.25) 0%, transparent 60%);
  border-radius: 50%;
  pointer-events: none;
  z-index: 1;
}


.p-mine .hidden-rank-card::after {
  content: '';
  position: absolute;
  bottom: -25px;
  left: -25px;
  width: 100px;
  height: 100px;
  background: radial-gradient(circle, rgba(255, 100, 50, 0.15) 0%, transparent 60%);
  border-radius: 50%;
  pointer-events: none;
  z-index: 1;
}


/* 卡片内光效 */
.p-mine .user-card::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 1px;
  background: linear-gradient(90deg,
      transparent 0%,
      rgba(73, 138, 199, 0.3) 30%,
      rgba(101, 176, 232, 0.5) 50%,
      rgba(73, 138, 199, 0.3) 70%,
      transparent 100%);
}


/* 迷你头像 + 名称并排 */
.p-mine .user-top-row {
  display: flex;
  align-items: center;
  margin-bottom: 8px;
}


.p-mine .user-mini-avatar {
  width: 36px;
  height: 36px;
  border-radius: 7px;
  flex-shrink: 0;
  margin-right: 8px;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.12);
}


.p-mine .mini-avatar-placeholder {
  background: linear-gradient(135deg, #e8e8e8 0%, #f5f5f5 50%, #e0e0e0 100%);
  display: flex;
  align-items: center;
  justify-content: center;
}


.p-mine .mini-placeholder-icon {
  font-size: 18px;
  opacity: 0.5;
}


.p-mine .user-name-group {
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: center;
}


.p-mine .user-left {
  flex: 1;
  position: relative;
  z-index: 3;
  padding-right: 10px;
}


.p-mine .user-name {
  font-size: 16px;
  font-weight: 700;
  letter-spacing: 1px;
  margin-bottom: 4px;
}


/* 用户名按等级颜色 */
.p-mine .user-name-V1 {
  color: #707080;
}

.p-mine .user-name-V2 {
  color: #606080;
}

.p-mine .user-name-V3 {
  color: #B8860B;
}

.p-mine .user-name-V4 {
  color: #2E8B8B;
}

.p-mine .user-name-V5 {
  color: #2E5E9E;
}

.p-mine .user-name-V6 {
  color: #6B3FA0;
}

.p-mine .user-name-V7 {
  color: #9C1F5E;
}

.p-mine .user-name-V8 {
  color: #F5F5FF;
}

.p-mine .user-name-A {
  color: #FFB880;
}

.p-mine .user-name-S {
  color: #FF6B6B;
}

.p-mine .user-name-SS {
  color: #FF8C42;
}

.p-mine .user-name-SSS {
  color: #FFD166;
}


.p-mine .user-id {
  font-size: 10px;
  margin-bottom: 8px;
}


/* 用户ID按等级颜色（与用户名同色系，略浅） */
.p-mine .user-id-V1 {
  color: #B0B0C0;
}

.p-mine .user-id-V2 {
  color: #9898B8;
}

.p-mine .user-id-V3 {
  color: #DAA520;
}

.p-mine .user-id-V4 {
  color: #88C0C0;
}

.p-mine .user-id-V5 {
  color: #6BA3D8;
}

.p-mine .user-id-V6 {
  color: #B898D8;
}

.p-mine .user-id-V7 {
  color: #D87FB0;
}

.p-mine .user-id-V8 {
  color: #B8B8FF;
}

.p-mine .user-id-A {
  color: #FF9A50;
}

.p-mine .user-id-S {
  color: #FF4D4D;
}

.p-mine .user-id-SS {
  color: #FF7A2A;
}

.p-mine .user-id-SSS {
  color: #FFC24D;
}


.p-mine .name-unlogin {
  color: #3A7CC3;
  font-size: 15px;
  font-weight: 600;
}


.p-mine .guide-login-box {
  flex: none;
  display: inline-flex;
  align-items: center;
  background: linear-gradient(135deg, rgba(73, 138, 199, 0.1) 0%, rgba(130, 180, 230, 0.15) 100%);
  border: 1px dashed rgba(73, 138, 199, 0.35);
  border-radius: 8px;
  padding: 4px 10px;
  transition: all 0.25s ease;
}


.p-mine .guide-login-box:active {
  background: linear-gradient(135deg, rgba(73, 138, 199, 0.18) 0%, rgba(130, 180, 230, 0.25) 100%);
  border-color: rgba(73, 138, 199, 0.55);
  transform: scale(0.97);
}


/* 等级区块 */
.p-mine .level-block {
  padding: 5px 0 0;
}


/* 等级主标题 V1-V8 */
.p-mine .level-main {
  font-size: 32px;
  font-weight: 900;
  letter-spacing: 2px;
  margin-bottom: 4px;
  display: block;
  line-height: 1.1;
}


/* V0 - 未登录 */
.p-mine .level-main-V0 {
  color: #B0B8C8;
  background: rgba(255, 255, 255, 0.6);
  border-radius: 8px;
  padding: 4px 14px;
  display: inline-block;
  font-size: 28px;
}

/* V1 - 浅白银 */
.p-mine .level-main-V1 {
  color: #A8A8B8;
  text-shadow: 0 0 6px rgba(168, 168, 184, 0.4);
}

/* V2 - 白银 */
.p-mine .level-main-V2 {
  color: #B8B8C8;
  text-shadow: 0 0 6px rgba(184, 184, 200, 0.4);
}

/* V3 - 黄金 */
.p-mine .level-main-V3 {
  color: #FFD700;
  text-shadow: 0 0 7px rgba(255, 215, 0, 0.5);
}

/* V4 - 铂金 */
.p-mine .level-main-V4 {
  color: #68B8B8;
  text-shadow: 0 0 7px rgba(104, 184, 184, 0.4);
}

/* V5 - 钻石 */
.p-mine .level-main-V5 {
  color: #4A90E2;
  text-shadow: 0 0 7px rgba(74, 144, 226, 0.5);
}

/* V6 - 星耀 */
.p-mine .level-main-V6 {
  color: #9966CC;
  text-shadow: 0 0 8px rgba(153, 102, 204, 0.5);
}

/* V7 - 王者 */
.p-mine .level-main-V7 {
  color: #C71585;
  text-shadow: 0 0 9px rgba(199, 21, 133, 0.5);
}

/* V8 - 星光 */
.p-mine .level-main-V8 {
  color: #FFFFFF;
  text-shadow: 0 0 12px rgba(180, 180, 255, 0.8);
}

.p-mine .level-main-A {
  color: #FFB880;
  text-shadow: 0 0 12px rgba(255, 140, 66, 0.75);
  font-size: 36px;
}

.p-mine .level-main-S {
  color: #FF6B6B;
  text-shadow: 0 0 12px rgba(255, 59, 59, 0.8);
  font-size: 36px;
}

.p-mine .level-main-SS {
  color: #FF8C42;
  text-shadow: 0 0 14px rgba(255, 107, 31, 0.85);
  font-size: 36px;
}

.p-mine .level-main-SSS {
  color: #FFD166;
  text-shadow: 0 0 15px rgba(255, 170, 59, 0.9);
  font-size: 40px;
  letter-spacing: 3px;
}


/* 等级信息区 */
.p-mine .level-info {
  margin-bottom: 5px;
}


.p-mine .level-row {
  font-size: 11px;
  line-height: 1.7;
}


.p-mine .level-label {
  color: #6b7280;
}


.p-mine .level-num {
  font-weight: 700;
  font-size: 12px;
}


/* 数字按等级颜色 */
.p-mine .level-num-V1 {
  color: #498AC7;
}

.p-mine .level-num-V2 {
  color: #498AC7;
}

.p-mine .level-num-V3 {
  color: #498AC7;
}

.p-mine .level-num-V4 {
  color: #498AC7;
}

.p-mine .level-num-V5 {
  color: #498AC7;
}

.p-mine .level-num-V6 {
  color: #498AC7;
}

.p-mine .level-num-V7 {
  color: #498AC7;
}

.p-mine .level-num-V8 {
  color: #D8D8FF;
}


/* 经验条 */
.p-mine .exp-bar {
  margin-top: 6px;
  width: 170px;
  height: 6px;
  background: #E0F2FE;
  border-radius: 6px;
  position: relative;
  overflow: hidden;
}


/* V8 - 深色背景下经验条底色 */
.p-mine .exp-bar-V8 {
  background: rgba(255, 255, 255, 0.15);
}


/* 隐藏等级 - 深色背景下经验条底色 */
.p-mine .exp-bar-A {
  background: rgba(255, 140, 66, 0.12);
}

.p-mine .exp-bar-S {
  background: rgba(255, 59, 59, 0.12);
}

.p-mine .exp-bar-SS {
  background: rgba(255, 107, 31, 0.12);
}

.p-mine .exp-bar-SSS {
  background: rgba(255, 170, 59, 0.15);
}


.p-mine .exp-bar-fill {
  height: 100%;
  border-radius: 6px;
  transition: width 0.8s ease-out;
  position: relative;
}

.p-mine .exp-bar-fill-V1 {
  background: linear-gradient(90deg, #A8A8B8 0%, #C8C8D8 100%);
}

.p-mine .exp-bar-fill-V2 {
  background: linear-gradient(90deg, #B8B8C8 0%, #D8D8E8 100%);
}

.p-mine .exp-bar-fill-V3 {
  background: linear-gradient(90deg, #FFD700 0%, #FFE966 100%);
}

.p-mine .exp-bar-fill-V4 {
  background: linear-gradient(90deg, #68B8B8 0%, #9DD8D8 100%);
}

.p-mine .exp-bar-fill-V5 {
  background: linear-gradient(90deg, #4A90E2 0%, #7FB8F0 100%);
}

.p-mine .exp-bar-fill-V6 {
  background: linear-gradient(90deg, #9966CC 0%, #B88DE0 100%);
}

.p-mine .exp-bar-fill-V7 {
  background: linear-gradient(90deg, #C71585 0%, #E04AA8 100%);
}

.p-mine .exp-bar-fill-V8 {
  background: linear-gradient(90deg, #B8B8FF 0%, #FFFFFF 100%);
}

.p-mine .exp-bar-fill-A {
  background: linear-gradient(90deg, #FF8C42 0%, #FFD166 100%);
  box-shadow: 0 0 8px rgba(255, 140, 66, 0.6);
}

.p-mine .exp-bar-fill-S {
  background: linear-gradient(90deg, #FF3B3B 0%, #FF8C42 100%);
  box-shadow: 0 0 8px rgba(255, 59, 59, 0.65);
}

.p-mine .exp-bar-fill-SS {
  background: linear-gradient(90deg, #FF6B1F 0%, #FFAA3B 100%);
  box-shadow: 0 0 9px rgba(255, 107, 31, 0.7);
}

.p-mine .exp-bar-fill-SSS {
  background: linear-gradient(90deg, #FFAA3B 0%, #FFE066 100%);
  box-shadow: 0 0 10px rgba(255, 170, 59, 0.8);
}


.p-mine .exp-text {
  margin-top: 5px;
  font-size: 10px;
  color: #6b7280;
  font-family: monospace;
}


/* V8 - 深色背景下经验文字 */
.p-mine .exp-text-V8 {
  color: #C8C8FF;
}


.p-mine .exp-text-V8 .exp-sep {
  color: #9898E0;
}


/* 隐藏等级 - 经验文字 */
.p-mine .exp-text-A {
  color: #FFB880;
}

.p-mine .exp-text-A .exp-sep {
  color: #FF8C42;
}

.p-mine .exp-text-S {
  color: #FF8080;
}

.p-mine .exp-text-S .exp-sep {
  color: #FF4D4D;
}

.p-mine .exp-text-SS {
  color: #FFA060;
}

.p-mine .exp-text-SS .exp-sep {
  color: #FF7A2A;
}

.p-mine .exp-text-SSS {
  color: #FFD166;
}

.p-mine .exp-text-SSS .exp-sep {
  color: #FFC24D;
}


.p-mine .exp-sep {
  color: #9ca3af;
  margin: 0 3px;
}


/* ============ 皇冠区域 ============ */
.p-mine .crown-area {
  position: relative;
  width: 120px;
  height: 120px;
  flex-shrink: 0;
  margin-right: 5px;
  margin-top: -5px;
}


/* 移除环形展台底座样式 */

/* 皇冠主体 */
.p-mine .crown {
  position: absolute;
  bottom: 5px;
  left: 50%;
  transform: translateX(-50%);
  width: 90px;
  height: 90px;
}


/* 皇冠基础底座与冠带 */
.p-mine .crown-base {
  position: absolute;
  bottom: 5px;
  left: 5px;
  right: 5px;
  height: 20px;
  background: linear-gradient(180deg, #d4c580 0%, #a8883d 50%, #7a5f20 100%);
  border-radius: 4px 4px 2px 2px;
  box-shadow: inset 0 1px 2px rgba(255, 255, 255, 0.5), 0 2px 4px rgba(0, 0, 0, 0.4);
}


.p-mine .crown-band {
  position: absolute;
  bottom: 24px;
  left: 7.5px;
  right: 7.5px;
  height: 5px;
  background: linear-gradient(90deg, #c4b075 0%, #f0e5a8 50%, #c4b075 100%);
  border-radius: 1px;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.3);
}


/* 尖刺（Spike）- 基础样式 */
.p-mine .crown-spike {
  position: absolute;
  bottom: 25px;
  width: 15px;
  height: 30px;
  clip-path: polygon(50% 0%, 100% 100%, 0% 100%);
}


.p-mine .crown-spike-1, .p-mine .crown-spike-silver-1, .p-mine .crown-spike-gold-1, .p-mine .crown-spike-plat-1, .p-mine .crown-spike-dia-1, .p-mine .crown-spike-pur-1, .p-mine .crown-spike-pk-1, .p-mine .crown-spike-bk-1 {
  left: 10px;
  background: linear-gradient(180deg, #ffe066 0%, #d4a017 100%);
  box-shadow: 0 1px 3px rgba(212, 160, 23, 0.5);
}


.p-mine .crown-spike-2, .p-mine .crown-spike-silver-2, .p-mine .crown-spike-gold-2, .p-mine .crown-spike-plat-2, .p-mine .crown-spike-dia-2, .p-mine .crown-spike-pur-2, .p-mine .crown-spike-pk-2, .p-mine .crown-spike-bk-2 {
  left: 50%;
  transform: translateX(-50%);
  height: 40px;
  width: 18px;
  background: linear-gradient(180deg, #ffe066 0%, #d4a017 100%);
  box-shadow: 0 1px 3px rgba(212, 160, 23, 0.5);
}


.p-mine .crown-spike-3, .p-mine .crown-spike-silver-3, .p-mine .crown-spike-gold-3, .p-mine .crown-spike-plat-3, .p-mine .crown-spike-dia-3, .p-mine .crown-spike-pur-3, .p-mine .crown-spike-pk-3, .p-mine .crown-spike-bk-3 {
  right: 10px;
  background: linear-gradient(180deg, #ffe066 0%, #d4a017 100%);
  box-shadow: 0 1px 3px rgba(212, 160, 23, 0.5);
}


/* V2 白银尖刺 */
.p-mine .crown-spike-silver-1, .p-mine .crown-spike-silver-2, .p-mine .crown-spike-silver-3 {
  background: linear-gradient(180deg, #f5f5ff 0%, #a8a8c0 100%);
  box-shadow: 0 1px 3px rgba(200, 200, 220, 0.6);
}


/* V3 黄金尖刺 */
.p-mine .crown-spike-gold-1, .p-mine .crown-spike-gold-2, .p-mine .crown-spike-gold-3 {
  background: linear-gradient(180deg, #fff0a0 0%, #e8b04d 50%, #b8860b 100%);
  box-shadow: 0 1px 4px rgba(232, 176, 77, 0.7);
}


/* V4 铂金尖刺 */
.p-mine .crown-spike-plat-1, .p-mine .crown-spike-plat-2, .p-mine .crown-spike-plat-3 {
  background: linear-gradient(180deg, #e5f5f5 0%, #a8d8d8 50%, #68b8b8 100%);
  box-shadow: 0 1px 4px rgba(168, 216, 216, 0.7);
}


/* V5 钻石尖刺 */
.p-mine .crown-spike-dia-1, .p-mine .crown-spike-dia-2, .p-mine .crown-spike-dia-3 {
  background: linear-gradient(180deg, #b0e0ff 0%, #60a0e0 50%, #4080c0 100%);
  box-shadow: 0 1px 5px rgba(96, 160, 224, 0.7);
}


/* V6 紫色尖刺 */
.p-mine .crown-spike-pur-1, .p-mine .crown-spike-pur-2, .p-mine .crown-spike-pur-3 {
  background: linear-gradient(180deg, #d8a8ff 0%, #a868d8 50%, #7040a8 100%);
  box-shadow: 0 1px 5px rgba(168, 104, 216, 0.7);
}


/* V7 粉紫尖刺 */
.p-mine .crown-spike-pk-1, .p-mine .crown-spike-pk-2, .p-mine .crown-spike-pk-3 {
  background: linear-gradient(180deg, #ffb0e8 0%, #e888d0 50%, #c058a8 100%);
  box-shadow: 0 1px 5px rgba(232, 136, 208, 0.7);
}


/* V8 星光深蓝尖刺 */
.p-mine .crown-spike-bk-1, .p-mine .crown-spike-bk-2, .p-mine .crown-spike-bk-3, .p-mine .crown-spike-bk-4, .p-mine .crown-spike-bk-5 {
  background: linear-gradient(180deg, #a0b8ff 0%, #6080d8 50%, #304088 100%);
  box-shadow: 0 1px 6px rgba(96, 128, 216, 0.8);
}


/* V8 多角星额外尖刺 */
.p-mine .crown-spike-bk-4 {
  left: 2.5px;
  width: 14px;
  height: 20px;
  bottom: 27.5px;
}

.p-mine .crown-spike-bk-5 {
  right: 2.5px;
  width: 14px;
  height: 20px;
  bottom: 27.5px;
}


/* 宝石 */
.p-mine .crown-gem {
  position: absolute;
  bottom: 50px;
  left: 50%;
  transform: translateX(-50%);
  width: 14px;
  height: 14px;
  border-radius: 50%;
}


.p-mine .crown-gem-gold {
  background: radial-gradient(circle at 30% 30%, #fff5b0 0%, #ffd700 40%, #b8860b 100%);
  box-shadow: 0 0 6px rgba(255, 215, 0, 0.9);
}


.p-mine .crown-gem-silver {
  background: radial-gradient(circle at 30% 30%, #ffffff 0%, #e0e0e8 40%, #9090a8 100%);
  box-shadow: 0 0 6px rgba(220, 220, 240, 0.8);
}


.p-mine .crown-gem-gold2 {
  background: radial-gradient(circle at 30% 30%, #fff8d8 0%, #ffd700 40%, #c08820 100%);
  box-shadow: 0 0 7px rgba(255, 200, 80, 1);
  width: 16px;
  height: 16px;
}


.p-mine .crown-gem-platinum {
  background: radial-gradient(circle at 30% 30%, #e8f8f8 0%, #a8e0e0 40%, #68b8b8 100%);
  box-shadow: 0 0 7px rgba(168, 232, 232, 0.9);
  width: 16px;
  height: 16px;
}


.p-mine .crown-gem-diamond {
  background: radial-gradient(circle at 30% 30%, #d8f0ff 0%, #78b0e8 50%, #4080c0 100%);
  box-shadow: 0 0 9px rgba(120, 176, 232, 1);
  width: 18px;
  height: 18px;
}


.p-mine .crown-gem-purple {
  background: radial-gradient(circle at 30% 30%, #f0d8ff 0%, #c080e8 50%, #8040c0 100%);
  box-shadow: 0 0 10px rgba(192, 128, 232, 1);
  width: 18px;
  height: 18px;
}


.p-mine .crown-gem-pink {
  background: radial-gradient(circle at 30% 30%, #ffe8f8 0%, #ff80c8 50%, #e048a8 100%);
  box-shadow: 0 0 11px rgba(255, 128, 200, 1);
  width: 19px;
  height: 19px;
}


.p-mine .crown-gem-starblue {
  background: radial-gradient(circle at 30% 30%, #d8e4ff 0%, #8098e8 50%, #4060c8 100%);
  box-shadow: 0 0 13px rgba(128, 152, 232, 1), 0 0 20px rgba(128, 152, 232, 0.6);
  width: 21px;
  height: 21px;
}


/* 翅膀 */
.p-mine .crown-wing {
  position: absolute;
  bottom: 40px;
  width: 20px;
  height: 25px;
}


/* 小翼 */
.p-mine .crown-wing-small {
  width: 16px;
  height: 20px;
  bottom: 42.5px;
}


/* 中翼 */
.p-mine .crown-wing-mid {
  width: 22px;
  height: 27.5px;
  bottom: 39px;
}


/* 大翼 */
.p-mine .crown-wing-big {
  width: 28px;
  height: 34px;
  bottom: 35px;
}


/* 左翼 */
.p-mine .crown-wing-left {
  left: -10px;
  transform: rotate(-30deg);
  clip-path: polygon(0% 100%, 100% 20%, 100% 100%);
}


.p-mine .crown-wing-left-top {
  left: -5px;
  bottom: 55px;
  transform: rotate(-45deg);
  clip-path: polygon(0% 100%, 100% 30%, 100% 100%);
}


.p-mine .crown-wing-left-top2 {
  left: -7.5px;
  bottom: 57.5px;
  transform: rotate(-40deg);
  clip-path: polygon(0% 100%, 100% 25%, 100% 100%);
}


.p-mine .crown-wing-left-bot {
  left: -9px;
  bottom: 27.5px;
  transform: rotate(-20deg);
  clip-path: polygon(0% 100%, 100% 40%, 100% 100%);
}


/* 右翼 */
.p-mine .crown-wing-right {
  right: -10px;
  transform: rotate(30deg);
  clip-path: polygon(100% 100%, 0% 20%, 0% 100%);
}


.p-mine .crown-wing-right-top {
  right: -5px;
  bottom: 55px;
  transform: rotate(45deg);
  clip-path: polygon(100% 100%, 0% 30%, 0% 100%);
}


.p-mine .crown-wing-right-top2 {
  right: -7.5px;
  bottom: 57.5px;
  transform: rotate(40deg);
  clip-path: polygon(100% 100%, 0% 25%, 0% 100%);
}


.p-mine .crown-wing-right-bot {
  right: -9px;
  bottom: 27.5px;
  transform: rotate(20deg);
  clip-path: polygon(100% 100%, 0% 40%, 0% 100%);
}


/* 不同等级的翅膀颜色 */
.p-mine .crown-wing:not(.crown-wing-dia):not(.crown-wing-dia-crystal):not(.crown-wing-gold):not(.crown-wing-plat):not(.crown-wing-pur):not(.crown-wing-pk):not(.crown-wing-pk2):not(.crown-wing-bk):not(.crown-wing-bk2):not(.crown-wing-bk3) {
  background: linear-gradient(180deg, #e8e8f8 0%, #a8a8c8 100%);
}


.p-mine .crown-wing-gold {
  background: linear-gradient(180deg, #fff5b0 0%, #d4a017 100%);
  box-shadow: 0 1px 4px rgba(255, 200, 80, 0.5);
}


.p-mine .crown-wing-plat {
  background: linear-gradient(180deg, #e5f5f5 0%, #68b8b8 100%);
  box-shadow: 0 1px 4px rgba(168, 232, 232, 0.5);
}


.p-mine .crown-wing-dia {
  background: linear-gradient(180deg, #b0e0ff 0%, #4080c0 100%);
  box-shadow: 0 1px 4px rgba(96, 160, 224, 0.6);
}


.p-mine .crown-wing-dia-crystal {
  background: linear-gradient(180deg, #d8f0ff 0%, #78b0e8 100%);
  opacity: 0.8;
}


.p-mine .crown-wing-pur {
  background: linear-gradient(180deg, #d8a8ff 0%, #7040a8 100%);
  box-shadow: 0 1px 5px rgba(168, 104, 216, 0.6);
}


.p-mine .crown-wing-pk {
  background: linear-gradient(180deg, #ffb0e8 0%, #c058a8 100%);
  box-shadow: 0 1px 5px rgba(232, 136, 208, 0.6);
}


.p-mine .crown-wing-pk2 {
  background: linear-gradient(180deg, #ffc8e8 0%, #d888c0 100%);
  box-shadow: 0 1px 5px rgba(255, 168, 224, 0.5);
}


.p-mine .crown-wing-bk {
  background: linear-gradient(180deg, #b8c8ff 0%, #4060c8 100%);
  box-shadow: 0 1px 6px rgba(96, 128, 216, 0.8);
}


.p-mine .crown-wing-bk2 {
  background: linear-gradient(180deg, #a0b8ff 0%, #6080d8 100%);
  box-shadow: 0 1px 6px rgba(120, 144, 232, 0.7);
}


.p-mine .crown-wing-bk3 {
  background: linear-gradient(180deg, #c8d8ff 0%, #7898e8 100%);
  box-shadow: 0 1px 5px rgba(120, 152, 232, 0.5);
}


/* 水晶装饰 */
.p-mine .crown-crystal {
  position: absolute;
  bottom: 55px;
  width: 12px;
  height: 16px;
  clip-path: polygon(50% 0%, 100% 50%, 50% 100%, 0% 50%);
  background: linear-gradient(135deg, rgba(200, 230, 255, 0.9) 0%, rgba(100, 150, 220, 0.9) 100%);
  box-shadow: 0 0 5px rgba(120, 176, 232, 0.7);
}


.p-mine .crown-crystal-left {
  left: -2.5px;
}


.p-mine .crown-crystal-right {
  right: -2.5px;
}


.p-mine .crown-crystal-big {
  width: 18px;
  height: 24px;
  bottom: 60px;
  left: 50%;
  transform: translateX(-50%);
  background: linear-gradient(135deg, rgba(220, 190, 255, 0.95) 0%, rgba(150, 90, 210, 0.95) 100%);
  box-shadow: 0 0 8px rgba(192, 128, 232, 0.8);
}


.p-mine .crown-crystal-pur {
  background: linear-gradient(135deg, rgba(220, 190, 255, 0.9) 0%, rgba(150, 90, 210, 0.9) 100%);
  box-shadow: 0 0 7px rgba(192, 128, 232, 0.7);
}


.p-mine .crown-crystal-pink {
  width: 15px;
  height: 20px;
  bottom: 62.5px;
  background: linear-gradient(135deg, rgba(255, 210, 240, 0.95) 0%, rgba(220, 120, 190, 0.95) 100%);
  box-shadow: 0 0 8px rgba(232, 136, 208, 0.8);
}


.p-mine .crown-crystal-pk-l {
  left: 5px;
}


.p-mine .crown-crystal-pk-r {
  right: 5px;
}


.p-mine .crown-crystal-star {
  width: 17px;
  height: 22px;
  bottom: 65px;
  background: linear-gradient(135deg, rgba(200, 220, 255, 0.95) 0%, rgba(96, 128, 216, 0.95) 100%);
  box-shadow: 0 0 9px rgba(128, 152, 232, 0.9);
}


.p-mine .crown-crystal-bk-l {
  left: 0px;
}

.p-mine .crown-crystal-bk-m {
  left: 50%;
  transform: translateX(-50%);
  bottom: 67.5px;
  width: 20px;
  height: 26px;
}

.p-mine .crown-crystal-bk-r {
  right: 0px;
}


/* 柔和自发光辉光 */
.p-mine .crown-halo {
  position: absolute;
  bottom: 15px;
  left: 50%;
  transform: translateX(-50%);
  width: 110px;
  height: 110px;
  border-radius: 50%;
  pointer-events: none;
  z-index: 0;
}


.p-mine .crown-halo-V1 {
  background: radial-gradient(circle, rgba(200, 200, 215, 0.3) 0%, transparent 70%);
  box-shadow: 0 0 30px rgba(200, 200, 215, 0.4);
}


.p-mine .crown-halo-V2 {
  background: radial-gradient(circle, rgba(220, 220, 240, 0.3) 0%, transparent 70%);
  box-shadow: 0 0 30px rgba(220, 220, 240, 0.4);
}


.p-mine .crown-halo-V3 {
  background: radial-gradient(circle, rgba(255, 215, 0, 0.35) 0%, transparent 70%);
  box-shadow: 0 0 35px rgba(255, 200, 80, 0.5);
}


.p-mine .crown-halo-V4 {
  background: radial-gradient(circle, rgba(168, 232, 232, 0.35) 0%, transparent 70%);
  box-shadow: 0 0 35px rgba(168, 232, 232, 0.5);
}


.p-mine .crown-halo-V5 {
  background: radial-gradient(circle, rgba(120, 176, 232, 0.4) 0%, transparent 70%);
  box-shadow: 0 0 40px rgba(120, 176, 232, 0.55);
}


.p-mine .crown-halo-V6 {
  background: radial-gradient(circle, rgba(192, 128, 232, 0.45) 0%, transparent 70%);
  box-shadow: 0 0 45px rgba(192, 128, 232, 0.6);
}


.p-mine .crown-halo-V7 {
  background: radial-gradient(circle, rgba(255, 150, 220, 0.5) 0%, transparent 70%);
  box-shadow: 0 0 50px rgba(255, 150, 220, 0.65);
}


.p-mine .crown-halo-V8 {
  background: radial-gradient(circle, rgba(128, 152, 232, 0.55) 0%, transparent 70%);
  box-shadow: 0 0 60px rgba(128, 152, 232, 0.75);
}


/* ============ 右侧：等级名称文字 ============ */
.p-mine .user-right {
  flex-shrink: 0;
  width: 120px;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  z-index: 3;
}


.p-mine .rank-name {
  font-size: 36px;
  font-weight: 900;
  letter-spacing: 4px;
  text-align: center;
  line-height: 1.2;
}


/* V1 - 浅白银 */
.p-mine .rank-name-V1 {
  color: #A8A8B8;
  text-shadow: 0 0 8px rgba(168, 168, 184, 0.5);
}

/* V2 - 白银 */
.p-mine .rank-name-V2 {
  color: #B8B8C8;
  text-shadow: 0 0 8px rgba(184, 184, 200, 0.5);
}

/* V3 - 黄金 */
.p-mine .rank-name-V3 {
  color: #FFD700;
  text-shadow: 0 0 9px rgba(255, 215, 0, 0.6);
}

/* V4 - 铂金 */
.p-mine .rank-name-V4 {
  color: #68B8B8;
  text-shadow: 0 0 9px rgba(104, 184, 184, 0.5);
}

/* V5 - 钻石 */
.p-mine .rank-name-V5 {
  color: #4A90E2;
  text-shadow: 0 0 9px rgba(74, 144, 226, 0.6);
}

/* V6 - 星耀 */
.p-mine .rank-name-V6 {
  color: #9966CC;
  text-shadow: 0 0 10px rgba(153, 102, 204, 0.6);
}

/* V7 - 王者 */
.p-mine .rank-name-V7 {
  color: #C71585;
  text-shadow: 0 0 11px rgba(199, 21, 133, 0.6);
}

/* V8 - 星光 */
.p-mine .rank-name-V8 {
  color: #FFFFFF;
  text-shadow: 0 0 16px rgba(180, 180, 255, 0.9);
}

.p-mine .rank-name-A {
  color: #FFB880;
  text-shadow: 0 0 16px rgba(255, 140, 66, 0.85);
}

.p-mine .rank-name-S {
  color: #FF6B6B;
  text-shadow: 0 0 16px rgba(255, 59, 59, 0.9);
}

.p-mine .rank-name-SS {
  color: #FF8C42;
  text-shadow: 0 0 18px rgba(255, 107, 31, 0.95);
}

.p-mine .rank-name-SSS {
  color: #FFD166;
  text-shadow: 0 0 20px rgba(255, 170, 59, 1);
  letter-spacing: 6px;
}


/* 未登录引导按钮 */
.p-mine .rank-login-btn {
  display: flex;
  align-items: center;
  gap: 2px;
  font-size: 14px;
  font-weight: 700;
  color: #3A7CC3;
  background: linear-gradient(135deg, rgba(73, 138, 199, 0.1) 0%, rgba(130, 180, 230, 0.18) 100%);
  border: 1px solid rgba(73, 138, 199, 0.3);
  border-radius: 10px;
  padding: 5px 10px;
  transition: all 0.25s ease;
}


.p-mine .rank-login-btn:active {
  background: linear-gradient(135deg, rgba(73, 138, 199, 0.2) 0%, rgba(130, 180, 230, 0.3) 100%);
  border-color: rgba(73, 138, 199, 0.5);
  transform: scale(0.95);
}


.p-mine .login-arrow {
  font-size: 16px;
  color: #3A7CC3;
  font-weight: 400;
}


/* 隐藏等级右侧放大显示 */
.p-mine .hidden-rank-display {
  font-size: 60px;
  font-weight: 900;
  letter-spacing: 5px;
  line-height: 1;
}


/* ============ V1 全新 3D 水晶金属皇冠 ============ */
.p-mine .crown-v1 {
  position: absolute;
  bottom: 5px;
  left: 50%;
  transform: translateX(-50%);
  width: 90px;
  height: 90px;
}


/* 皇冠金属底座 - 3D多层效果 */
.p-mine .crown-v1-base {
  position: absolute;
  bottom: 12.5px;
  left: 4px;
  right: 4px;
  height: 22.5px;
  background: linear-gradient(180deg,
      #ffd86b 0%,
      #ffbf3e 20%,
      #d4a017 45%,
      #b8860b 70%,
      #7a5f20 100%);
  border-radius: 3px 3px 4px 4px;
  box-shadow:
      inset 0 1px 2px rgba(255, 245, 200, 0.9),
      inset 0 -2px 4px rgba(80, 50, 10, 0.6),
      0 3px 6px rgba(0, 0, 0, 0.5),
      0 1px 10px rgba(255, 190, 60, 0.3);
  border: 0.5px solid rgba(255, 230, 150, 0.5);
}


.p-mine .crown-v1-base-highlight {
  position: absolute;
  bottom: 26px;
  left: 6px;
  right: 6px;
  height: 4px;
  background: linear-gradient(90deg,
      rgba(255, 255, 255, 0.0) 0%,
      rgba(255, 245, 200, 0.95) 30%,
      #fff6d8 50%,
      rgba(255, 245, 200, 0.95) 70%,
      rgba(255, 255, 255, 0.0) 100%);
  border-radius: 2px;
  box-shadow:
      0 0 4px rgba(255, 220, 100, 0.9),
      0 -0.5px 1.5px rgba(255, 255, 255, 0.6);
}


/* 皇冠尖刺 - 5个渐变式 */
.p-mine .v1-spike {
  position: absolute;
  bottom: 27.5px;
  clip-path: polygon(50% 0%, 95% 45%, 85% 100%, 15% 100%, 5% 45%);
}


/* 最左侧尖刺 - 最矮 */
.p-mine .v1-spike-left {
  left: 9px;
  width: 12px;
  height: 21px;
  background: linear-gradient(180deg,
      #fff8dc 0%,
      #ffd86b 25%,
      #ffbf3e 55%,
      #d4a017 85%,
      #8b6914 100%);
  box-shadow:
      0 1px 2px rgba(0, 0, 0, 0.3),
      inset 0.5px 0 1px rgba(255, 250, 200, 0.8),
      inset -0.5px 0 1px rgba(120, 80, 20, 0.4);
}


/* 中左尖刺 */
.p-mine .v1-spike-mid-left {
  left: 21px;
  width: 13px;
  height: 27.5px;
  background: linear-gradient(180deg,
      #fff8dc 0%,
      #ffd86b 20%,
      #ffbf3e 50%,
      #d4a017 80%,
      #8b6914 100%);
  box-shadow:
      0 1.5px 3px rgba(0, 0, 0, 0.35),
      inset 0.5px 0 1px rgba(255, 250, 200, 0.85),
      inset -0.5px 0 1px rgba(120, 80, 20, 0.45);
}


/* 中间尖刺 - 最高最华丽 */
.p-mine .v1-spike-center {
  left: 50%;
  transform: translateX(-50%);
  width: 16px;
  height: 42.5px;
  background: linear-gradient(180deg,
      #ffffff 0%,
      #fff8dc 15%,
      #ffd86b 35%,
      #ffbf3e 55%,
      #d4a017 78%,
      #8b6914 100%);
  box-shadow:
      0 2px 5px rgba(0, 0, 0, 0.4),
      0 1px 7.5px rgba(255, 200, 60, 0.35),
      inset 1px 0 2px rgba(255, 255, 220, 0.9),
      inset -1px 0 2px rgba(120, 80, 20, 0.5);
}


/* 中右尖刺 */
.p-mine .v1-spike-mid-right {
  right: 21px;
  width: 13px;
  height: 27.5px;
  background: linear-gradient(180deg,
      #fff8dc 0%,
      #ffd86b 20%,
      #ffbf3e 50%,
      #d4a017 80%,
      #8b6914 100%);
  box-shadow:
      0 1.5px 3px rgba(0, 0, 0, 0.35),
      inset 0.5px 0 1px rgba(255, 250, 200, 0.85),
      inset -0.5px 0 1px rgba(120, 80, 20, 0.45);
}


/* 最右侧尖刺 - 最矮 */
.p-mine .v1-spike-right {
  right: 9px;
  width: 12px;
  height: 21px;
  background: linear-gradient(180deg,
      #fff8dc 0%,
      #ffd86b 25%,
      #ffbf3e 55%,
      #d4a017 85%,
      #8b6914 100%);
  box-shadow:
      0 1px 2px rgba(0, 0, 0, 0.3),
      inset 0.5px 0 1px rgba(255, 250, 200, 0.8),
      inset -0.5px 0 1px rgba(120, 80, 20, 0.4);
}


/* 中间大宝石 - 多切面水晶效果 */
.p-mine .v1-gem-main {
  position: absolute;
  bottom: 21px;
  left: 50%;
  transform: translateX(-50%);
  width: 18px;
  height: 18px;
  background: linear-gradient(135deg,
      #ff8a3d 0%,
      #ff6b35 20%,
      #ff4500 40%,
      #d4a017 60%,
      #ff6b35 80%,
      #ff8a3d 100%);
  clip-path: polygon(50% 0%, 100% 35%, 85% 100%, 15% 100%, 0% 35%);
  box-shadow:
      0 2px 5px rgba(255, 100, 0, 0.6),
      0 1px 10px rgba(255, 150, 50, 0.4),
      inset 1px 1px 3px rgba(255, 255, 255, 0.6),
      inset -1px -1px 3px rgba(150, 50, 0, 0.5);
  animation: v1-gem-pulse 2.5s ease-in-out infinite;
}


.p-mine .v1-gem-shine {
  position: absolute;
  top: 2px;
  left: 50%;
  transform: translateX(-50%);
  width: 5px;
  height: 6px;
  background: linear-gradient(180deg,
      rgba(255, 255, 255, 1) 0%,
      rgba(255, 240, 200, 0.8) 40%,
      rgba(255, 200, 100, 0) 100%);
  clip-path: polygon(50% 0%, 100% 50%, 50% 100%, 0% 50%);
  filter: blur(0.25px);
}


/* 两侧小宝石 */
.p-mine .v1-gem-small {
  position: absolute;
  bottom: 22.5px;
  width: 8px;
  height: 8px;
  background: linear-gradient(135deg,
      #ffc870 0%,
      #ff8a3d 50%,
      #d4a017 100%);
  clip-path: polygon(50% 0%, 100% 35%, 85% 100%, 15% 100%, 0% 35%);
  box-shadow:
      0 1px 3px rgba(255, 130, 50, 0.5),
      inset 0.5px 0.5px 1.5px rgba(255, 255, 255, 0.5),
      inset -0.5px -0.5px 1.5px rgba(150, 80, 20, 0.4);
}


.p-mine .v1-gem-left {
  left: 19px;
}


.p-mine .v1-gem-right {
  right: 19px;
}


/* 星光装饰点 */
.p-mine .v1-sparkle {
  position: absolute;
  width: 4px;
  height: 4px;
  background: radial-gradient(circle, #ffffff 0%, #ffd86b 50%, transparent 100%);
  clip-path: polygon(50% 0%, 61% 35%, 98% 35%, 68% 57%, 79% 91%, 50% 70%, 21% 91%, 32% 57%, 2% 35%, 39% 35%);
  filter: blur(0.25px);
}


.p-mine .v1-sparkle-1 {
  bottom: 62.5px;
  left: 50%;
  transform: translateX(-50%);
  width: 5px;
  height: 5px;
  animation: v1-sparkle-blink 1.8s ease-in-out infinite;
}


.p-mine .v1-sparkle-2 {
  bottom: 47.5px;
  left: 15px;
  animation: v1-sparkle-blink 2.2s ease-in-out infinite 0.3s;
}


.p-mine .v1-sparkle-3 {
  bottom: 47.5px;
  right: 15px;
  animation: v1-sparkle-blink 2s ease-in-out infinite 0.6s;
}


/* 动画 */
@keyframes v1-gem-pulse  {
  0%, 100% {
    box-shadow:
          0 2px 5px rgba(255, 100, 0, 0.5),
          0 1px 10px rgba(255, 150, 50, 0.3),
          inset 1px 1px 3px rgba(255, 255, 255, 0.6),
          inset -1px -1px 3px rgba(150, 50, 0, 0.5);
  }

    50% {
    box-shadow:
          0 2px 5px rgba(255, 100, 0, 0.7),
          0 1px 15px rgba(255, 180, 80, 0.6),
          inset 1.5px 1.5px 4px rgba(255, 255, 255, 0.8),
          inset -1px -1px 3px rgba(150, 50, 0, 0.5);
  }
}


@keyframes v1-sparkle-blink  {
  0%, 100% {
    opacity: 0.3;
    transform: scale(0.8);
  }

    50% {
    opacity: 1;
    transform: scale(1.2);
  }
}


/* 更新V1的整体辉光 - 银白色光辉 */
.p-mine .crown-halo-V1 {
  background: radial-gradient(circle, rgba(200, 200, 215, 0.4) 0%, rgba(180, 180, 195, 0.15) 40%, transparent 70%);
  box-shadow: 0 0 40px rgba(190, 190, 205, 0.55);
}


/* 卡片区域（流体玻璃） */
.p-mine .card-container {
  margin: 0 10px;
  padding: 16px 12px;
  background: linear-gradient(160deg,
      rgba(255, 255, 255, 0.55) 0%,
      rgba(255, 255, 255, 0.18) 50%,
      rgba(255, 255, 255, 0.38) 100%);
  border-radius: 12px;
  border: 0.5px solid rgba(255, 255, 255, 0.5);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.6), 0 4px 14px rgba(73, 138, 199, 0.1);
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: column;
  gap: 14px;
}


/* 订单卡片（流体玻璃） */
.p-mine .order-card {
  background: linear-gradient(160deg,
      rgba(255, 255, 255, 0.6) 0%,
      rgba(255, 255, 255, 0.25) 50%,
      rgba(255, 255, 255, 0.45) 100%);
  border-radius: 8px;
  padding: 12px;
  border: 0.5px solid rgba(255, 255, 255, 0.5);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.5);
}


.p-mine .order-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 12px;
}


.p-mine .order-title {
  color: #1a1a2e;
  font-size: 15px;
  font-weight: 700;
  letter-spacing: 1px;
}


.p-mine .order-more {
  display: flex;
  align-items: center;
}


.p-mine .all-order-text {
  font-size: 12px;
  color: #498AC7;
  font-weight: 400;
}


.p-mine .order-more .arrow {
  margin-left: 2px;
  font-size: 14px;
  color: #498AC7;
}


/* 订单标签 */
.p-mine .order-tabs {
  display: flex;
  justify-content: space-between;
}


.p-mine .order-tab {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
}


.p-mine .tab-label {
  font-size: 12px;
  font-weight: 600;
  padding: 6px 10px;
  border-radius: 7px;
  border: 1px solid transparent;
  background: #F0F9FF;
  color: #498AC7;
  transition: all 0.2s ease;
}


.p-mine .tab-label-unpaid {
  border-color: #E0F2FE;
  color: #498AC7;
  background: #F0F9FF;
}


.p-mine .tab-label-pending {
  border-color: #E0F2FE;
  color: #498AC7;
  background: #F0F9FF;
}


.p-mine .tab-label-ongoing {
  border-color: #E0F2FE;
  color: #498AC7;
  background: #F0F9FF;
}


.p-mine .tab-label-confirming {
  border-color: #FEF3C7;
  color: #D97706;
  background: #FFFBEB;
}


.p-mine .tab-label-cancelled {
  border-color: #E5E7EB;
  color: #6B7280;
  background: #F9FAFB;
}


.p-mine .tab-label-completed {
  border-color: #E0F2FE;
  color: #498AC7;
  background: #F0F9FF;
}


/* 客服售后卡片（流体玻璃） */
.p-mine .service-card {
  background: linear-gradient(160deg,
      rgba(255, 255, 255, 0.6) 0%,
      rgba(255, 255, 255, 0.25) 50%,
      rgba(255, 255, 255, 0.45) 100%);
  border-radius: 8px;
  padding: 10px 12px;
  margin-top: 10px;
  display: flex;
  align-items: center;
  border: 0.5px solid rgba(255, 255, 255, 0.5);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.5);
  width: 100%;
  line-height: normal;
}


.p-mine .service-card::after {
  border: none;
}


.p-mine .service-content {
  flex: 1;
}


.p-mine .service-title {
  color: #1a1a2e;
  font-size: 14px;
  font-weight: 700;
}


.p-mine .service-desc {
  color: #6b7280;
  font-size: 11px;
  margin-top: 2px;
}


.p-mine .service-arrow {
  color: #498AC7;
  font-size: 16px;
  font-weight: 600;
}


/* ============ 弹窗通用 ============ */
.p-mine .modal-mask {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(20, 30, 50, 0.4);
  z-index: 1000;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px;
}


.p-mine .modal-card {
  width: 100%;
  max-width: 320px;
  background: linear-gradient(180deg, #ffffff 0%, #F0F9FF 100%);
  border-radius: 14px;
  padding: 18px 16px;
  max-height: 80vh;
  overflow-y: auto;
  border: 1px solid #E0F2FE;
  box-shadow:
      0 10px 40px rgba(73, 138, 199, 0.2),
      0 0 30px rgba(101, 176, 232, 0.1);
}


.p-mine .modal-title {
  font-size: 17px;
  font-weight: bold;
  color: #1a1a2e;
  text-align: center;
  margin-bottom: 4px;
  letter-spacing: 1px;
}


.p-mine .modal-subtitle {
  font-size: 12px;
  color: #6b7280;
  text-align: center;
  margin-bottom: 14px;
}


/* ============ 其他弹窗：按钮样式兜底 ============ */
.p-mine .modal-btn {
  flex: 1;
  height: 44px;
  line-height: 44px;
  border-radius: 22px;
  font-size: 14px;
  text-align: center;
  border: none;
  padding: 0;
  margin: 0;
}


.p-mine .modal-btn::after {
  border: none;
}


.p-mine .modal-btn-cancel {
  background: #F0F9FF;
  color: #498AC7;
}


.p-mine .modal-btn-confirm {
  background: linear-gradient(135deg, #498AC7 0%, #65B0E8 100%);
  color: #fff;
  font-weight: bold;
  box-shadow: 0 2px 8px rgba(73, 138, 199, 0.35);
}

/* ==================== pages/ranking/ranking.wxss —— 排行榜（作用域 .p-ranking） ==================== */
/* pages/ranking/ranking.wxss */

/* 顶部标题区 */
.p-ranking .header {
  padding: 30px 20px 5px;
  text-align: center;
  flex-shrink: 0;
}


.p-ranking .header-row {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
}


.p-ranking .header-title {
  font-size: 22px;
  font-weight: bold;
  color: #1a1a2e;
  display: block;
  margin-bottom: 0;
}


.p-ranking .header-subtitle {
  font-size: 13px;
  color: #666;
  display: none;
}


/* 本周/本月切换 */
.p-ranking .time-toggle {
  display: flex;
  justify-content: center;
  gap: 10px;
  padding: 5px 20px 10px;
  flex-shrink: 0;
}


.p-ranking .toggle-item {
  padding: 6px 22px;
  border-radius: 20px;
  font-size: 13px;
  font-weight: 500;
  color: #666;
  background: rgba(255, 255, 255, 0.5);
  border: 1px solid rgba(0, 0, 0, 0.08);
  transition: all 0.3s ease;
}


.p-ranking .toggle-item.active {
  color: #fff;
  background: linear-gradient(135deg, #3B82F6, #2563EB);
  border-color: transparent;
  box-shadow: 0 2px 8px rgba(59, 130, 246, 0.35);
}


/* 状态圆点 */
.p-ranking .status-dot {
  position: absolute;
  top: -2px;
  right: -2px;
  width: 11px;
  height: 11px;
  border-radius: 50%;
  border: 1.5px solid #fff;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.15);
  z-index: 20;
}


.p-ranking .status-dot.busy {
  background: #EF4444;
  animation: pulse-red 1.5s ease-in-out infinite;
}


.p-ranking .status-dot.online {
  background: #10B981;
  animation: pulse-green 2s ease-in-out infinite;
}


/* 🔴 灰色状态点（2026-08-25）：设计样式，暂不对接（先留着） */
.p-ranking .status-dot.gray {
  background: #9CA3AF;
}


@keyframes pulse-red  {
  0%, 100% {
    box-shadow: 0 0 0 0 rgba(239, 68, 68, 0.6);
  }

    50% {
    box-shadow: 0 0 0 4px rgba(239, 68, 68, 0);
  }
}


@keyframes pulse-green  {
  0%, 100% {
    box-shadow: 0 0 0 0 rgba(16, 185, 129, 0.5);
  }

    50% {
    box-shadow: 0 0 0 4px rgba(16, 185, 129, 0);
  }
}


.p-ranking .status-dot-small {
  position: absolute;
  top: -1px;
  right: -1px;
  width: 9px;
  height: 9px;
  border-radius: 50%;
  border: 1px solid #fff;
  box-shadow: 0 0.5px 2px rgba(0, 0, 0, 0.15);
  z-index: 20;
}


.p-ranking .status-dot-small.busy {
  background: #EF4444;
  animation: pulse-red-small 1.5s ease-in-out infinite;
}


.p-ranking .status-dot-small.online {
  background: #10B981;
  animation: pulse-green-small 2s ease-in-out infinite;
}


/* 🔴 灰色状态点（2026-08-25）：设计样式，暂不对接 */
.p-ranking .status-dot-small.gray {
  background: #9CA3AF;
}


@keyframes pulse-red-small  {
  0%, 100% {
    box-shadow: 0 0 0 0 rgba(239, 68, 68, 0.5);
  }

    50% {
    box-shadow: 0 0 0 3px rgba(239, 68, 68, 0);
  }
}


@keyframes pulse-green-small  {
  0%, 100% {
    box-shadow: 0 0 0 0 rgba(16, 185, 129, 0.4);
  }

    50% {
    box-shadow: 0 0 0 3px rgba(16, 185, 129, 0);
  }
}


/* 指定按钮禁用态（🔴 2026-08-25：可点击，弹出提示；灰色态置灰） */
.p-ranking .assign-btn.disabled, .p-ranking .assign-btn-small.disabled {
  opacity: 0.5;
  background: #999 !important;
  box-shadow: none !important;
}


.p-ranking .assign-btn-first.disabled {
  background: #999;
  box-shadow: none;
  opacity: 0.5;
}


/* 页面固定：整页不滚动（🔴 2026-08-25），只有列表区内部滚动 */
.p-ranking .page {
  min-height: 100vh;
  height: 100vh;
  overflow: hidden;
  position: relative;
  box-sizing: border-box;
}


.p-ranking .page-bg {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: linear-gradient(180deg, #C3EDFC 0%, #E8F4F8 30%, #F5E8F0 70%, #F0E6EF 100%);
  z-index: 0;
}


.p-ranking .page-content {
  position: relative;
  z-index: 1;
  height: 100%;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}


/* 领奖台区域固定 */
.p-ranking .top-three {
  padding: 10px 10px 15px;
  /* 🔴 修改（2026-08-25）：margin-bottom 20→6px，列表栏更靠上 */
    margin-bottom: 6px;
  flex-shrink: 0;
}


.p-ranking .podium {
  display: flex;
  justify-content: center;
  align-items: flex-end;
  /* 🔴 修改（2026-08-25）：间距拉近（30→10px） */
    gap: 10px;
}


.p-ranking .podium-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  position: relative;
  /* 🔴 修改（2026-08-25）：加宽列宽支持 5 字名字，不改变间距 */
    width: 60px;
  flex-shrink: 0;
}


.p-ranking .avatar-wrapper {
  position: relative;
  z-index: 10;
  margin-bottom: -10px;
}


/* 特效头像框 - 通用样式 */
.p-ranking .avatar-frame {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 52px;
  /* 比头像(48px)稍大4px，紧贴边缘 */
    height: 52px;
  border-radius: 50%;
  z-index: -1;
}


/* 第1名 - 金色紧贴光环 */
.p-ranking .avatar-frame-first {
  box-shadow: 
      0 0 0 2px rgba(255, 215, 0, 0.9),      /* 紧贴内圈 */
      0 0 4px rgba(255, 215, 0, 0.8),        /* 中层光晕 */
      0 0 8px rgba(255, 215, 0, 0.5),       /* 外层扩散 */
      inset 0 0 4px rgba(255, 215, 0, 0.3);
  /* 内部发光 */
    animation: pulse-gold 2s ease-in-out infinite;
}


@keyframes pulse-gold  {
  0%, 100% {
    box-shadow: 
          0 0 0 2px rgba(255, 215, 0, 0.9),
          0 0 4px rgba(255, 215, 0, 0.8),
          0 0 8px rgba(255, 215, 0, 0.5),
          inset 0 0 4px rgba(255, 215, 0, 0.3);
  }

    50% {
    box-shadow: 
          0 0 0 2px rgba(255, 215, 0, 1),
          0 0 6px rgba(255, 215, 0, 0.9),
          0 0 12px rgba(255, 215, 0, 0.6),
          inset 0 0 6px rgba(255, 215, 0, 0.4);
  }
}


/* 第2名 - 银色紧贴光环 */
.p-ranking .avatar-frame-second {
  box-shadow: 
      0 0 0 2px rgba(192, 192, 192, 0.85),   /* 紧贴内圈 */
      0 0 3px rgba(192, 192, 192, 0.7),      /* 中层光晕 */
      0 0 6px rgba(192, 192, 192, 0.45),    /* 外层扩散 */
      inset 0 0 3px rgba(192, 192, 192, 0.25);
  /* 内部发光 */;
}


/* 第3名 - 铜色紧贴光环 */
.p-ranking .avatar-frame-third {
  box-shadow: 
      0 0 0 2px rgba(205, 127, 50, 0.85),    /* 紧贴内圈 */
      0 0 3px rgba(205, 127, 50, 0.7),       /* 中层光晕 */
      0 0 6px rgba(205, 127, 50, 0.45),     /* 外层扩散 */
      inset 0 0 3px rgba(205, 127, 50, 0.25);
  /* 内部发光 */;
}


/* 第4名 - 蓝色紧贴光环 */
.p-ranking .avatar-frame-fourth {
  box-shadow: 
      0 0 0 2px rgba(96, 165, 250, 0.8),
      0 0 3px rgba(96, 165, 250, 0.6),
      0 0 6px rgba(96, 165, 250, 0.4),
      inset 0 0 3px rgba(96, 165, 250, 0.2);
}


/* 第5名 - 紫色紧贴光环 */
.p-ranking .avatar-frame-fifth {
  box-shadow: 
      0 0 0 2px rgba(167, 139, 250, 0.8),
      0 0 3px rgba(167, 139, 250, 0.6),
      0 0 6px rgba(167, 139, 250, 0.4),
      inset 0 0 3px rgba(167, 139, 250, 0.2);
}


.p-ranking .avatar {
  width: 48px;
  height: 48px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 2px solid #fff;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
  overflow: hidden;
}


.p-ranking .avatar-img {
  width: 100%;
  height: 100%;
  border-radius: 50%;
}


.p-ranking .avatar-text {
  font-size: 18px;
  font-weight: bold;
  color: #fff;
}


.p-ranking .first-avatar {
  background: linear-gradient(135deg, #FFD700, #FFA500);
}


.p-ranking .second-avatar {
  background: linear-gradient(135deg, #C0C0C0, #A8A8A8);
}


.p-ranking .third-avatar {
  background: linear-gradient(135deg, #CD7F32, #B87333);
}


.p-ranking .fourth-avatar {
  background: linear-gradient(135deg, #60A5FA, #3B82F6);
}


.p-ranking .fifth-avatar {
  background: linear-gradient(135deg, #A78BFA, #8B5CF6);
}


.p-ranking .rank-badge {
  position: absolute;
  bottom: -4px;
  right: -4px;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 11px;
  font-weight: bold;
  color: #fff;
  border: 1.5px solid #fff;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.2);
}


.p-ranking .first-badge {
  background: linear-gradient(135deg, #FFD700, #FFA500);
}


.p-ranking .second-badge {
  background: linear-gradient(135deg, #C0C0C0, #A8A8A8);
}


.p-ranking .third-badge {
  background: linear-gradient(135deg, #CD7F32, #B87333);
}


.p-ranking .fourth-badge {
  background: linear-gradient(135deg, #60A5FA, #3B82F6);
}


.p-ranking .fifth-badge {
  background: linear-gradient(135deg, #A78BFA, #8B5CF6);
}


.p-ranking .crown {
  position: absolute;
  top: -15px;
  left: 50%;
  transform: translateX(-50%);
  font-size: 18px;
}


.p-ranking .podium-pillar {
  width: 50px;
  border-radius: 8px 8px 0 0;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  padding-bottom: 10px;
  position: relative;
  box-sizing: border-box;
}


/* 🔴 柱子颜色（2026-08-25）：第2名改为粉色，避免与灰色状态混淆 */
.p-ranking .first-pillar {
  height: 144px;
  background: linear-gradient(180deg, #FFD700 0%, #FFA500 50%, #E08B00 100%);
}


.p-ranking .second-pillar {
  height: 117.5px;
  background: linear-gradient(180deg, #F472B6 0%, #EC4899 50%, #DB2777 100%);
}


.p-ranking .third-pillar {
  height: 90.5px;
  background: linear-gradient(180deg, #F59E0B 0%, #CD7F32 50%, #B87333 100%);
}


.p-ranking .fourth-pillar {
  height: 63.5px;
  background: linear-gradient(180deg, #93C5FD 0%, #60A5FA 50%, #3B82F6 100%);
}


.p-ranking .fifth-pillar {
  height: 38.5px;
  background: linear-gradient(180deg, #C4B5FD 0%, #A78BFA 50%, #8B5CF6 100%);
}


.p-ranking .pillar-score {
  font-size: 12px;
  font-weight: bold;
  color: rgba(255, 255, 255, 0.95);
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.35);
}


.p-ranking .podium-item .player-name {
  font-size: 12px;
  color: #333;
  margin-top: 8px;
  font-weight: 500;
  /* 🔴 修改（2026-08-25）：加宽支持 5 字名字，过长省略号，不改变间距 */
    max-width: 60px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  text-align: center;
}


/* 指定按钮 - 前三名（胶囊型）🔴 2026-08-25：行高调低更扁，确保「指定」完整显示 */
.p-ranking .assign-btn {
  /* 🔴 修改（2026-08-25）：margin-top 16→6px，padding 10→3px，按钮更扁更低 */
    margin-top: 6px;
  padding: 3px 13px;
  border-radius: 20px;
  transition: all 0.2s ease;
  white-space: nowrap;
}


.p-ranking .assign-btn:active {
  transform: scale(0.95);
}


/* 第1名 - 金色 */
.p-ranking .assign-btn-first {
  background: linear-gradient(135deg, #FFD700, #FFA500);
  box-shadow: 
      0 0 8px rgba(255, 215, 0, 0.6),
      0 0 16px rgba(255, 215, 0, 0.3),
      0 0 24px rgba(255, 215, 0, 0.15);
}


.p-ranking .assign-btn-first:active {
  box-shadow: 
      0 0 6px rgba(255, 215, 0, 0.5),
      0 0 12px rgba(255, 215, 0, 0.25),
      0 0 18px rgba(255, 215, 0, 0.1);
}


/* 第2名 - 粉色（🔴 2026-08-25：与第2名柱子同色，避免与灰色状态混淆） */
.p-ranking .podium-item.second .assign-btn {
  background: linear-gradient(135deg, #F472B6, #EC4899);
  box-shadow: 
      0 0 6px rgba(236, 72, 153, 0.5),
      0 0 12px rgba(236, 72, 153, 0.25);
}


.p-ranking .podium-item.second .assign-btn:active {
  box-shadow: 
      0 0 4px rgba(236, 72, 153, 0.4),
      0 0 8px rgba(236, 72, 153, 0.2);
}


/* 第3名 - 铜色 */
.p-ranking .podium-item.third .assign-btn {
  background: linear-gradient(135deg, #CD7F32, #B87333);
  box-shadow: 
      0 0 6px rgba(205, 127, 50, 0.5),
      0 0 12px rgba(205, 127, 50, 0.25);
}


.p-ranking .podium-item.third .assign-btn:active {
  box-shadow: 
      0 0 4px rgba(205, 127, 50, 0.4),
      0 0 8px rgba(205, 127, 50, 0.2);
}


/* 第4名 - 蓝色 */
.p-ranking .podium-item.fourth .assign-btn {
  background: linear-gradient(135deg, #60A5FA, #3B82F6);
  box-shadow: 
      0 0 6px rgba(96, 165, 250, 0.5),
      0 0 12px rgba(96, 165, 250, 0.25);
}


.p-ranking .podium-item.fourth .assign-btn:active {
  box-shadow: 
      0 0 4px rgba(96, 165, 250, 0.4),
      0 0 8px rgba(96, 165, 250, 0.2);
}


/* 第5名 - 紫色 */
.p-ranking .podium-item.fifth .assign-btn {
  background: linear-gradient(135deg, #A78BFA, #8B5CF6);
  box-shadow: 
      0 0 6px rgba(167, 139, 250, 0.5),
      0 0 12px rgba(167, 139, 250, 0.25);
}


.p-ranking .podium-item.fifth .assign-btn:active {
  box-shadow: 
      0 0 4px rgba(167, 139, 250, 0.4),
      0 0 8px rgba(167, 139, 250, 0.2);
}


.p-ranking .assign-btn-text {
  font-size: 12px;
  color: #fff;
  font-weight: bold;
  letter-spacing: 1px;
}


/* 4-10名列表 🔴 2026-08-25：毛玻璃双层结构 + 列表区自适应高度内部滚动 + 页面固定 */
.p-ranking .list-section {
  /* 🔴 修改（2026-08-25）：底部留 20px 间隙，列表栏再上移（20→20px） */
    padding: 0 15px 20px;
  flex: 1 1 auto;
  min-height: 0;
  display: flex;
  flex-direction: column;
}


/* 外层：毛玻璃 + 圆角 + 裁剪（修复 backdrop-filter + overflow 圆角 bug） */
.p-ranking .list-container {
  position: relative;
  /* 🔴 2026-08-25：为自定义滚动条定位 */
    background: linear-gradient(160deg,
      rgba(255, 255, 255, 0.5) 0%,
      rgba(255, 255, 255, 0.16) 48%,
      rgba(255, 255, 255, 0.32) 100%);
  backdrop-filter: blur(20px) saturate(180%);
  -webkit-backdrop-filter: blur(20px) saturate(180%);
  border: 0.5px solid rgba(255, 255, 255, 0.45);
  border-radius: 16px;
  box-shadow:
      inset 0 0.5px 0 rgba(255, 255, 255, 0.7),
      inset 0 -0.5px 2px rgba(255, 255, 255, 0.12),
      0 4px 16px rgba(0, 0, 0, 0.12),
      0 1px 4px rgba(0, 0, 0, 0.08);
  flex: 1;
  height: 0;
  min-height: 0;
  overflow: hidden;
  display: flex;
  flex-direction: column;
}


/* 内层：滚动区 */
.p-ranking .list-scroll {
  flex: 1;
  height: 0;
  min-height: 0;
  overflow-y: auto;
  overflow-x: hidden;
  /* 🔴 2026-08-25：scroll-view 自身 padding-right 不压缩内容宽度（已知坑），
        右侧留白改由 .list-item 的 margin-right 提供 */
    padding: 10px 10px 10px 6px;
}


/* 🔴 2026-08-25：隐藏系统滚动条（改用下方自定义滚动条指示器，跨平台一致） */
.p-ranking .list-scroll::-webkit-scrollbar {
  display: none;
  width: 0;
  height: 0;
}


/* 🔴 2026-08-25：自定义滚动条 - 轨道（紧贴右侧边） */
.p-ranking .scrollbar-track {
  position: absolute;
  top: 12px;
  right: 2px;
  bottom: 12px;
  width: 6px;
  border-radius: 6px;
  background: rgba(0, 0, 0, 0.07);
  pointer-events: none;
  z-index: 10;
}


/* 🔴 2026-08-25：自定义滚动条 - 滑块（位置/高度由 js 计算） */
.p-ranking .scrollbar-thumb {
  width: 6px;
  border-radius: 6px;
  background: rgba(100, 110, 130, 0.5);
  transition: height 0.1s ease;
}


.p-ranking .list-item {
  display: flex;
  align-items: center;
  /* 🔴 修改（2026-08-25）：左 20→6px、右 20→8px，排名标/头像/指定按钮整体左移，让出右侧滚动条 */
    padding: 12px 8px 12px 6px;
  /* 🔴 修改（2026-08-25）：margin-right 76→18px，按钮往右靠，仍与滚动条保持安全间距 */
    margin-right: 18px;
  border-bottom: 0.5px solid rgba(255, 255, 255, 0.35);
}


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


.p-ranking .rank-number {
  width: 24px;
  height: 24px;
  border-radius: 50%;
  background: linear-gradient(135deg, #E5E7EB, #D1D5DB);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 12px;
  font-weight: bold;
  color: #666;
  margin-right: 10px;
}


.p-ranking .player-info {
  flex: 1;
  display: flex;
  align-items: center;
}


/* 列表头像容器 */
.p-ranking .list-avatar-wrapper {
  position: relative;
  width: 40px;
  /* 与光环尺寸一致 */
    height: 40px;
  margin-right: 10px;
}


/* 列表头像细边缘光环 */
.p-ranking .list-avatar-frame {
  position: absolute;
  top: 0;
  left: 0;
  width: 40px;
  /* 比头像(36px)大4px，紧贴边缘 */
    height: 40px;
  border-radius: 50%;
  z-index: -1;
  box-shadow: 
      0 0 0 1.5px rgba(96, 165, 250, 0.7),     /* 紧贴内圈 - 蓝色边框 */
      0 0 3px rgba(96, 165, 250, 0.5),       /* 中层光晕 */
      0 0 5px rgba(96, 165, 250, 0.3);
  /* 外层扩散 */;
}


.p-ranking .list-avatar {
  position: absolute;
  top: 2px;
  /* (80-72)/2 = 2px，居中 */
    left: 2px;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: linear-gradient(135deg, #93C5FD, #60A5FA);
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1.5px solid #fff;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.1);
  overflow: hidden;
}


.p-ranking .list-avatar-img {
  width: 100%;
  height: 100%;
  border-radius: 50%;
}


.p-ranking .list-avatar-text {
  font-size: 14px;
  font-weight: bold;
  color: #fff;
}


.p-ranking .player-detail {
  display: flex;
  flex-direction: column;
}


.p-ranking .player-name-text {
  font-size: 14px;
  font-weight: 600;
  color: #1a1a2e;
  /* 🔴 修复（2026-08-25）：列表名字过长用省略号显示 */
    max-width: 130px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}


.p-ranking .player-score-text {
  font-size: 11px;
  color: #999;
  margin-top: 3px;
  max-width: 130px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}


.p-ranking .arrow {
  font-size: 20px;
  color: #ccc;
  font-weight: 300;
}


/* 指定按钮 - 列表项（胶囊型浅蓝色）*/
.p-ranking .assign-btn-small {
  padding: 5px 14px;
  background: linear-gradient(135deg, #87CEEB, #5FB6D9);
  border-radius: 20px;
  box-shadow: 
      0 0 5px rgba(135, 206, 235, 0.35),
      0 0 10px rgba(135, 206, 235, 0.15);
  transition: all 0.2s ease;
  flex-shrink: 0;
}


.p-ranking .assign-btn-small:active {
  transform: scale(0.95);
  box-shadow: 
      0 0 4px rgba(135, 206, 235, 0.25),
      0 0 8px rgba(135, 206, 235, 0.1);
}


.p-ranking .assign-btn-small-text {
  font-size: 11px;
  color: #fff;
  font-weight: bold;
  letter-spacing: 0.5px;
}


/* 空状态 */
.p-ranking .empty-state {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 60px 20px;
}


.p-ranking .empty-title {
  font-size: 16px;
  font-weight: 600;
  color: #333;
  margin-bottom: 6px;
}


.p-ranking .empty-desc {
  font-size: 13px;
  color: #999;
  text-align: center;
}


/* 加载中状态 */
.p-ranking .loading-state {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 50px 20px;
}


.p-ranking .loading-dot {
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background: #60a5fa;
  margin-bottom: 10px;
  animation: loading-pulse 1.2s ease-in-out infinite;
}


@keyframes loading-pulse  {
  0%, 100% {
    transform: scale(1);
    opacity: 1;
  }

    50% {
    transform: scale(1.2);
    opacity: 0.6;
  }
}


.p-ranking .loading-text {
  font-size: 13px;
  color: #999;
}

/* ==================== pages/message/message.wxss —— 消息（作用域 .p-message） ==================== */
/* pages/message/message.wxss */

/* 🔴 页面级渐变背景：微信自带下拉刷新动画显示在渐变背景上 */
.p-message, .p-message {
  background-color: #C3EDFC;
  background-image: linear-gradient(180deg, #C3EDFC 0%, #A4DDF8 20%, #8BCBF1 40%, #65B0E8 70%, #498AC7 100%);
}


.p-message .page {
  min-height: 100vh;
  position: relative;
  box-sizing: border-box;
}


.p-message .page-bg {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: linear-gradient(180deg, #C3EDFC 0%, #A4DDF8 20%, #8BCBF1 40%, #65B0E8 70%, #498AC7 100%);
  z-index: 0;
}


/* 流体玻璃质感容器（无 backdrop-filter，避免微信渲染异常导致文字/UI 模糊） */
.p-message .glass-container {
  margin: 10px;
  margin-bottom: 0;
  padding: 10px;
  padding-bottom: 16px;
  box-sizing: border-box;
  background: linear-gradient(160deg,
      rgba(255, 255, 255, 0.5) 0%,
      rgba(255, 255, 255, 0.15) 50%,
      rgba(255, 255, 255, 0.32) 100%);
  border-radius: 12px;
  border: 0.5px solid rgba(255, 255, 255, 0.4);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.6), 0 4px 16px rgba(0, 0, 0, 0.1);
  position: relative;
  z-index: 1;
}


/* 消息区域 */
.p-message .section {
  margin-bottom: 10px;
}


.p-message .section:last-child {
  margin-bottom: 0;
}


/* 区域标题 */
.p-message .section-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 10px;
  background: #fff;
  border-radius: 8px;
}


.p-message .section-title {
  color: #333;
  font-size: 15px;
  font-weight: bold;
}


.p-message .section-arrow {
  color: #999;
  font-size: 16px;
  transition: transform 0.3s ease;
}


.p-message .section-arrow.expanded {
  transform: rotate(90deg);
}


/* 区域内容 */
.p-message .section-content {
  margin-top: 8px;
}


/* 消息项 */
.p-message .msg-item {
  display: flex;
  align-items: center;
  padding: 12px;
  background: #fff;
  border-radius: 8px;
  margin-bottom: 6px;
  border-left: 3px solid transparent;
  transition: all 0.2s ease;
}


.p-message .msg-item:last-child {
  margin-bottom: 0;
}


.p-message .msg-content {
  flex: 1;
  min-width: 0;
}


.p-message .msg-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
}


.p-message .msg-title {
  color: #333;
  font-size: 15px;
  font-weight: bold;
}


.p-message .msg-time {
  color: #999;
  font-size: 12px;
}


.p-message .msg-desc {
  color: #666;
  font-size: 13px;
  margin-top: 5px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}


.p-message .msg-badge {
  background: #ff4444;
  color: #fff;
  min-width: 18px;
  height: 18px;
  border-radius: 9px;
  font-size: 11px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0 5px;
  margin-left: 10px;
}


/* 强调样式 - 有未读消息时 */
.p-message .msg-item.highlight {
  background: #fff;
  border-left: 3px solid #3B82F6;
  box-shadow: 0 1px 8px rgba(59, 130, 246, 0.15);
}


.p-message .msg-title-highlight {
  color: #3B82F6;
  font-weight: 700;
}


.p-message .msg-desc-highlight {
  color: #1D4ED8;
  font-weight: 500;
}


/* 订单消息专属样式 */
.p-message .msg-item-order {
  position: relative;
}


.p-message .msg-item-order::before {
  content: '订单';
  display: inline-block;
  background: linear-gradient(135deg, #3B82F6, #1D4ED8);
  color: #fff;
  font-size: 10px;
  padding: 1px 6px;
  border-radius: 4px;
  margin-right: 8px;
  flex-shrink: 0;
  font-weight: 500;
}


/* 聊天项 */
.p-message .chat-item {
  display: flex;
  align-items: center;
  padding: 12px;
  background: #fff;
  border-radius: 8px;
  margin-bottom: 10px;
  border-left: 3px solid transparent;
  transition: all 0.2s ease;
}


.p-message .chat-item:last-child {
  margin-bottom: 0;
}


/* 重置 button 默认样式 */
.p-message button.chat-item {
  border: none;
  border-radius: 8px;
  background: #fff;
  text-align: left;
  line-height: inherit;
  padding: 12px;
  font-size: inherit;
  box-sizing: border-box;
  width: 100%;
}


.p-message button.chat-item::after {
  border: none;
  border-radius: 8px;
}


.p-message .chat-content {
  flex: 1;
  min-width: 0;
}


.p-message .chat-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
}


.p-message .chat-name {
  color: #333;
  font-size: 15px;
  font-weight: bold;
}


.p-message .chat-time {
  color: #999;
  font-size: 12px;
}


.p-message .chat-last {
  color: #666;
  font-size: 13px;
  margin-top: 5px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}


.p-message .chat-badge {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #ff4444;
  margin-left: 10px;
  flex-shrink: 0;
}


.p-message .chat-empty {
  text-align: center;
  color: #999;
  font-size: 13px;
  padding: 24px 0;
}

/* ==================== pages/chat/chat.wxss —— 聊天（作用域 .p-chat） ==================== */
/* 页面背景与聊天页一致：键盘弹起时窗口高度变化露出的区域无缝，消除黑缝（iOS/Android 通用） */
.p-chat, .p-chat {
  height: 100%;
  background: linear-gradient(180deg, #C3EDFC 0%, #A4DDF8 20%, #8BCBF1 40%, #65B0E8 70%, #498AC7 100%);
}


.p-chat .chat-page {
  display: flex;
  flex-direction: column;
  /* 🔴 必须用视口高度：100% 依赖 page 高度（小程序 page 是内容撑开），会导致输入栏停在半空 */
    height: 100vh;
  background: linear-gradient(180deg, #C3EDFC 0%, #A4DDF8 20%, #8BCBF1 40%, #65B0E8 70%, #498AC7 100%);
  overflow: hidden;
  box-sizing: border-box;
}


.p-chat .msg-list {
  flex: 1;
  padding: 12px 12px 12px;
  box-sizing: border-box;
  overflow-y: auto;
}


.p-chat .msg-tip {
  text-align: center;
  color: rgba(255, 255, 255, 0.85);
  font-size: 13px;
  padding: 30px 0;
  text-shadow: 0 0.5px 2px rgba(0, 0, 0, 0.2);
}


.p-chat .msg-item {
  margin-bottom: 12px;
}


/* 我方消息：整行靠右；对方消息：整行靠左（text-align 控制 inline 元素） */
.p-chat .msg-item.mine {
  text-align: right;
}


.p-chat .msg-item.other {
  text-align: left;
}


/* 服务器时间：正中间，小字 */
.p-chat .msg-time-center {
  display: block;
  text-align: center;
  font-size: 10px;
  color: rgba(255, 255, 255, 0.65);
  margin-bottom: 5px;
  text-shadow: 0 0.5px 1.5px rgba(0, 0, 0, 0.2);
}


/* 一行：已读标记（气泡外左侧）+ 气泡，用 inline-block 保证水平并排、绝不换行 */
.p-chat .msg-row {
  display: block;
  white-space: nowrap;
}


/* 已读/未读标记：气泡外角落（我方左下角、对方右下角），灰色圆圈 */
.p-chat .msg-status {
  display: inline-block;
  vertical-align: bottom;
  margin-bottom: 4px;
}


/* 我方：标记在气泡左外侧（左下角） */
.p-chat .msg-item.mine .msg-status {
  margin-right: 10px;
}


/* 对方：标记在气泡右外侧（右下角），留足间距 */
.p-chat .msg-item.other .msg-status {
  margin-left: 10px;
}


.p-chat .status-circle {
  width: 12px;
  height: 12px;
  border-radius: 50%;
  box-sizing: border-box;
  display: flex;
  align-items: center;
  justify-content: center;
}


/* 未读：灰色空圆圈 */
.p-chat .status-unread {
  border: 1.5px solid rgba(200, 200, 200, 0.85);
}


/* 已读：灰色圆圈内打勾（不用绿色） */
.p-chat .status-read {
  border: 1.5px solid #9e9e9e;
  background: #9e9e9e;
}


.p-chat .status-check {
  color: #fff;
  font-size: 7px;
  font-weight: 700;
  line-height: 1;
}


/* 气泡：inline-block，与标记同一行，内容左对齐（white-space 还原为 normal，防止继承 nowrap 导致文字不换行） */
.p-chat .bubble {
  display: inline-block;
  vertical-align: middle;
  white-space: normal;
  max-width: 68%;
  padding: 9px 13px;
  border-radius: 12px;
  word-break: break-all;
  text-align: left;
  box-sizing: border-box;
}


.p-chat .bubble-mine {
  background: linear-gradient(135deg, #498AC7 0%, #65B0E8 100%);
  color: #fff;
  border-top-right-radius: 4px;
  box-shadow: 0 2px 8px rgba(73, 138, 199, 0.35);
}


.p-chat .bubble-other {
  background: rgba(255, 255, 255, 0.95);
  color: #1a1a2e;
  border-top-left-radius: 4px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
}


.p-chat .bubble-text {
  white-space: normal;
  font-size: 15px;
  line-height: 1.5;
  word-break: break-all;
}


.p-chat .bubble-img {
  width: 160px;
  border-radius: 6px;
  display: block;
}


/* 底部输入栏（键盘弹起时聊天页底部 padding 整体抬升，输入栏完整浮在键盘上方） */
.p-chat .input-bar {
  display: flex;
  align-items: center;
  padding: 8px 10px;
  padding-bottom: calc(8px + env(safe-area-inset-bottom));
  background: rgba(255, 255, 255, 0.95);
  box-shadow: 0 -2px 10px rgba(0, 0, 0, 0.08);
}


.p-chat .img-btn {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: rgba(73, 138, 199, 0.12);
  display: flex;
  align-items: center;
  justify-content: center;
  margin-right: 8px;
  flex-shrink: 0;
}


.p-chat .img-btn-icon {
  font-size: 20px;
  color: #498AC7;
  line-height: 1;
}


.p-chat .text-input {
  flex: 1;
  height: 36px;
  background: #f2f6fb;
  border-radius: 18px;
  padding: 0 14px;
  font-size: 14px;
  color: #1a1a2e;
}


.p-chat .input-placeholder {
  color: #99a3b3;
}


.p-chat .send-btn {
  margin-left: 8px;
  height: 36px;
  line-height: 36px;
  padding: 0 17px;
  border-radius: 18px;
  background: linear-gradient(135deg, #498AC7 0%, #65B0E8 100%);
  color: #fff;
  font-size: 14px;
  text-align: center;
  flex-shrink: 0;
  box-shadow: 0 2px 7px rgba(73, 138, 199, 0.3);
}


.p-chat .send-btn.disabled {
  opacity: 0.5;
}


/* 只读提示条（订单已完成） */
.p-chat .readonly-bar {
  padding: 10px;
  padding-bottom: calc(10px + env(safe-area-inset-bottom));
  background: rgba(255, 255, 255, 0.95);
  box-shadow: 0 -2px 10px rgba(0, 0, 0, 0.08);
  text-align: center;
}


.p-chat .readonly-text {
  font-size: 13px;
  color: #999;
}


/* 长按消息浮层（D5：小按钮，定位到被长按消息气泡顶部居中） */
.p-chat .ctx-mask {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 90;
  background: transparent;
}


.p-chat .ctx-menu {
  position: fixed;
  z-index: 91;
  min-width: 54px;
  background: rgba(30, 34, 46, 0.95);
  border-radius: 15px;
  padding: 0;
  box-shadow: 0 3px 10px rgba(0, 0, 0, 0.28);
}


.p-chat .ctx-item {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 5px 17px;
}


.p-chat .ctx-item:active {
  background: rgba(255, 255, 255, 0.16);
}


.p-chat .ctx-text {
  font-size: 12px;
  color: #fff;
  font-weight: 500;
}

/* ==================== pages/risk-notice/risk-notice.wxss —— 风险告知书（作用域 .p-risk） ==================== */
.p-risk .risk-container {
  width: 100%;
  box-sizing: border-box;
  padding: 16px;
  background: #fff;
  min-height: 100vh;
}


.p-risk .risk-content {
  width: 100%;
  box-sizing: border-box;
  font-size: 14px;
  color: #333;
  line-height: 1.8;
  word-break: break-all;
  word-wrap: break-word;
}


.p-risk .section {
  margin-bottom: 16px;
  width: 100%;
  box-sizing: border-box;
}


.p-risk .section-title {
  font-size: 16px;
  font-weight: bold;
  color: #1a1a2e;
  margin-bottom: 8px;
  width: 100%;
  box-sizing: border-box;
}


.p-risk .section-text {
  color: #555;
  text-indent: 2em;
  margin-bottom: 6px;
  width: 100%;
  box-sizing: border-box;
  word-break: break-all;
  word-wrap: break-word;
}


.p-risk .update-time {
  text-align: right;
  color: #999;
  font-size: 12px;
  margin-bottom: 12px;
  width: 100%;
  box-sizing: border-box;
}

/* ==================== pages/privacy/privacy.wxss —— 隐私保护指引（作用域 .p-privacy） ==================== */
.p-privacy .privacy-container {
  width: 100%;
  box-sizing: border-box;
  padding: 16px;
  background: #f5f6fa;
  min-height: 100vh;
}


.p-privacy .privacy-content {
  width: 100%;
  box-sizing: border-box;
  font-size: 14px;
  color: #333;
  line-height: 1.8;
  word-break: break-all;
  word-wrap: break-word;
  background: #fff;
  border-radius: 8px;
  padding: 16px;
  box-shadow: 0 1px 6px rgba(0,0,0,0.06);
}


.p-privacy .section {
  margin-bottom: 20px;
  width: 100%;
  box-sizing: border-box;
}


.p-privacy .section-title {
  font-size: 16px;
  font-weight: bold;
  color: #1a1a2e;
  margin-bottom: 10px;
  padding-bottom: 6px;
  border-bottom: 1px solid #f0f0f0;
  width: 100%;
  box-sizing: border-box;
}


.p-privacy .section-text {
  color: #555;
  text-indent: 2em;
  margin-bottom: 6px;
  width: 100%;
  box-sizing: border-box;
  word-break: break-all;
  word-wrap: break-word;
  font-size: 14px;
  line-height: 1.9;
}


.p-privacy .section-text .highlight {
  color: #498AC7;
  font-weight: 500;
}


.p-privacy .section-subtitle {
  font-size: 15px;
  font-weight: 600;
  color: #333;
  margin-bottom: 6px;
  margin-top: 10px;
  width: 100%;
  box-sizing: border-box;
}


.p-privacy .section-block {
  background: #f8f9fa;
  border-left: 3px solid #498AC7;
  padding: 12px 14px;
  margin: 10px 0;
  border-radius: 4px;
  width: 100%;
  box-sizing: border-box;
}


.p-privacy .block-title {
  font-size: 14px;
  font-weight: bold;
  color: #1a1a2e;
  margin-bottom: 5px;
  width: 100%;
  box-sizing: border-box;
}


.p-privacy .block-content {
  font-size: 13px;
  color: #498AC7;
  margin-bottom: 4px;
  width: 100%;
  box-sizing: border-box;
  word-break: break-all;
  word-wrap: break-word;
}


.p-privacy .block-desc {
  font-size: 13px;
  color: #666;
  line-height: 1.7;
  width: 100%;
  box-sizing: border-box;
  word-break: break-all;
  word-wrap: break-word;
}


.p-privacy .section-note {
  margin-top: 12px;
  padding: 10px 12px;
  background: #fff7e6;
  border-radius: 4px;
  border-left: 3px solid #faad14;
  width: 100%;
  box-sizing: border-box;
}


.p-privacy .note-text {
  font-size: 12px;
  color: #ad6800;
  line-height: 1.6;
  width: 100%;
  box-sizing: border-box;
  word-break: break-all;
  word-wrap: break-word;
}


.p-privacy .update-time {
  text-align: right;
  color: #999;
  font-size: 12px;
  margin-bottom: 10px;
  width: 100%;
  box-sizing: border-box;
}

/* ==================== pages/agreement/agreement.wxss —— 用户协议（作用域 .p-agreement） ==================== */
.p-agreement .agreement-container {
  width: 100%;
  box-sizing: border-box;
  padding: 16px;
  background: #fff;
  min-height: 100vh;
}


.p-agreement .agreement-content {
  width: 100%;
  box-sizing: border-box;
  font-size: 14px;
  color: #333;
  line-height: 1.8;
  word-break: break-all;
  word-wrap: break-word;
}


.p-agreement .section {
  margin-bottom: 16px;
  width: 100%;
  box-sizing: border-box;
}


.p-agreement .section-title {
  font-size: 16px;
  font-weight: bold;
  color: #1a1a2e;
  margin-bottom: 8px;
  width: 100%;
  box-sizing: border-box;
}


.p-agreement .section-text {
  color: #555;
  text-indent: 2em;
  margin-bottom: 6px;
  width: 100%;
  box-sizing: border-box;
  word-break: break-all;
  word-wrap: break-word;
}


.p-agreement .update-time {
  text-align: right;
  color: #999;
  font-size: 12px;
  margin-bottom: 12px;
  width: 100%;
  box-sizing: border-box;
}

/* ==================== pages/setting/setting.wxss —— 设置（作用域 .p-setting） ==================== */
/* pages/setting/setting.wxss */

.p-setting .page {
  min-height: 100vh;
  background: linear-gradient(180deg, #C3EDFC 0%, #A4DDF8 20%, #8BCBF1 40%, #65B0E8 70%, #498AC7 100%);
}


/* 页面标题 */
.p-setting .page-header {
  padding: 30px 15px 15px;
}


.p-setting .header-title {
  color: #fff;
  font-size: 20px;
  font-weight: bold;
}


/* 设置列表 */
.p-setting .setting-list {
  padding: 0 10px;
}


/* 设置卡片（流体玻璃，无 backdrop-filter 避免文字发糊） */
.p-setting .setting-card {
  background: linear-gradient(160deg,
      rgba(255, 255, 255, 0.6) 0%,
      rgba(255, 255, 255, 0.25) 50%,
      rgba(255, 255, 255, 0.45) 100%);
  border-radius: 10px;
  margin-bottom: 10px;
  border: 0.5px solid rgba(255, 255, 255, 0.5);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.5), 0 2px 10px rgba(0, 0, 0, 0.08);
}


/* 设置项 */
.p-setting .setting-item {
  display: flex;
  align-items: center;
  padding: 15px;
  border-bottom: 0.5px solid rgba(0, 0, 0, 0.05);
}


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


.p-setting .item-content {
  flex: 1;
}


.p-setting .item-title {
  color: #333;
  font-size: 15px;
  font-weight: bold;
}


.p-setting .item-desc {
  color: #999;
  font-size: 12px;
  margin-top: 3px;
}


.p-setting .item-arrow {
  color: #ccc;
  font-size: 16px;
}


.p-setting .legal-footer {
  text-align: center;
  padding: 20px 0;
}


.p-setting .legal-link {
  color: rgba(255, 255, 255, 0.85);
  font-size: 13px;
}


.p-setting .legal-divider {
  color: rgba(255, 255, 255, 0.4);
  margin: 0 8px;
  font-size: 13px;
}


/* 弹窗（遮罩无灰色背景；点击空白不关闭） */
.p-setting .modal-mask {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: transparent;
  z-index: 10001;
  display: flex;
  align-items: center;
  justify-content: center;
}


/* 毛玻璃遮罩：强模糊压暗背景（无灰色），底部内容仅轻微可见；弹窗层级在其之上不受影响 */
.p-setting .modal-blur-layer {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: transparent;
  backdrop-filter: blur(15px);
  -webkit-backdrop-filter: blur(15px);
}


.p-setting .modal-box {
  position: relative;
  z-index: 1;
  width: 300px;
  /* 流体玻璃：近不透明渐变（不透出背后模糊）+ 高光描边 + 顶部内高光 */
    background: linear-gradient(160deg, rgba(255, 255, 255, 0.99), rgba(255, 255, 255, 0.96));
  border: 0.5px solid rgba(255, 255, 255, 0.75);
  border-radius: 12px;
  padding: 20px 18px 16px;
  box-shadow:
      inset 0 0.5px 0 rgba(255, 255, 255, 0.9),
      0 4px 20px rgba(0, 0, 0, 0.18);
  overflow: hidden;
}


.p-setting .modal-title {
  color: #333;
  font-size: 17px;
  font-weight: bold;
  text-align: center;
  margin-bottom: 10px;
}


.p-setting .modal-content {
  color: #666;
  font-size: 14px;
  line-height: 1.6;
  text-align: center;
  margin-bottom: 16px;
}


.p-setting .code-input {
  width: 100%;
  height: 40px;
  background: rgba(255, 255, 255, 0.9);
  border: 1px solid rgba(73, 138, 199, 0.45);
  border-radius: 6px;
  padding: 0 12px;
  font-size: 14px;
  color: #333;
  margin-bottom: 16px;
  box-sizing: border-box;
}


/* 输入校验错误：边框变红 */
.p-setting .code-input-error {
  border-color: #e74c3c !important;
  background: rgba(255, 235, 235, 0.9);
}


/* 校验错误提示 */
.p-setting .code-error {
  color: #e74c3c;
  font-size: 12px;
  text-align: left;
  padding-left: 4px;
  margin-top: -10px;
  margin-bottom: 12px;
}


.p-setting .modal-actions {
  display: flex;
  gap: 12px;
}


.p-setting .modal-btn {
  flex: 1;
  height: 40px;
  line-height: 40px;
  font-size: 14px;
  border-radius: 20px;
  border: none;
  padding: 0;
  margin: 0;
}


.p-setting .modal-btn::after {
  border: none;
}


.p-setting .modal-btn-cancel {
  background: #f0f0f0;
  color: #666;
}


.p-setting .modal-btn-confirm {
  background: linear-gradient(135deg, #65B0E8, #498AC7);
  color: #fff;
  font-weight: bold;
}

/* ==================== pages/account-setting/account-setting.wxss —— 账户设置（作用域 .p-account） ==================== */
/* pages/account-setting/account-setting.wxss */

.p-account .page {
  min-height: 100vh;
  background: linear-gradient(180deg, #C3EDFC 0%, #A4DDF8 20%, #8BCBF1 40%, #65B0E8 70%, #498AC7 100%);
}


.p-account .setting-list {
  padding: 0 10px;
}


.p-account .setting-card {
  background: linear-gradient(160deg,
      rgba(255, 255, 255, 0.6) 0%,
      rgba(255, 255, 255, 0.25) 50%,
      rgba(255, 255, 255, 0.45) 100%);
  border-radius: 10px;
  margin-bottom: 10px;
  border: 0.5px solid rgba(255, 255, 255, 0.5);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.5), 0 2px 10px rgba(0, 0, 0, 0.08);
}


/* 用户信息 */
.p-account .user-info {
  display: flex;
  align-items: center;
  padding: 15px;
}


.p-account .user-detail {
  flex: 1;
}


.p-account .user-name {
  color: #333;
  font-size: 16px;
  font-weight: bold;
}


.p-account .user-id {
  color: #999;
  font-size: 12px;
  margin-top: 3px;
}


.p-account .user-status {
  margin-left: auto;
}


.p-account .status-tag {
  font-size: 11px;
  padding: 3px 8px;
  border-radius: 10px;
  background: #e8f5e9;
  color: #4caf50;
}


.p-account .status-tag.offline {
  background: #f5f5f5;
  color: #999;
}


/* 设置项 */
.p-account .setting-item {
  display: flex;
  align-items: center;
  padding: 15px;
  border-bottom: 0.5px solid rgba(0, 0, 0, 0.05);
}


.p-account .setting-item:last-child {
  border-bottom: none;
}


.p-account .item-content {
  flex: 1;
}


.p-account .item-title {
  color: #333;
  font-size: 15px;
  font-weight: bold;
}


.p-account .item-desc {
  color: #999;
  font-size: 12px;
  margin-top: 3px;
}


.p-account .item-arrow {
  color: #ccc;
  font-size: 16px;
}


/* 注销账号样式 */
.p-account .danger-item {
  border-top: none;
}


.p-account .danger-title {
  color: #d32f2f;
  font-size: 15px;
  font-weight: bold;
}


.p-account .danger-desc {
  color: #ef5350;
  font-size: 12px;
  margin-top: 3px;
}


/* 弹窗遮罩 */
.p-account .modal-mask {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(15, 23, 42, 0.55);
  backdrop-filter: blur(2px);
  -webkit-backdrop-filter: blur(2px);
  z-index: 1000;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 20px;
}


/* 弹窗卡片（背景已接近不透明，移除 blur 避免内容发糊） */
.p-account .modal-box {
  width: 100%;
  max-width: 300px;
  background: rgba(255, 255, 255, 0.97);
  border-radius: 12px;
  padding: 18px 14px 12px;
  border: 1px solid rgba(255, 255, 255, 0.6);
  box-shadow: 0 10px 30px rgba(211, 47, 47, 0.2);
  overflow: hidden;
}


/* 注销弹窗专属 */
.p-account .delete-box {
  max-width: 300px;
}


.p-account .delete-header {
  text-align: center;
  padding-bottom: 10px;
  margin-bottom: 10px;
  border-bottom: 1px dashed rgba(211, 47, 47, 0.15);
}


.p-account .delete-title {
  font-size: 16px;
  font-weight: 700;
  color: #d32f2f;
  margin-bottom: 3px;
}


.p-account .delete-subtitle {
  font-size: 11px;
  color: #78909c;
}


.p-account .delete-body {
  padding: 5px 0 10px;
}


.p-account .delete-check-item {
  display: flex;
  align-items: center;
  padding: 10px 12px;
  border-radius: 8px;
  margin-bottom: 6px;
  border: 1px solid rgba(76, 175, 80, 0.2);
  background: rgba(76, 175, 80, 0.08);
}


.p-account .delete-check-item.check-fail {
  border-color: rgba(211, 47, 47, 0.2);
  background: rgba(211, 47, 47, 0.06);
}


.p-account .check-dot {
  font-size: 14px;
  font-weight: bold;
  margin-right: 8px;
  min-width: 20px;
  text-align: center;
}


.p-account .check-pass .check-dot {
  color: #4caf50;
}


.p-account .check-fail .check-dot {
  color: #d32f2f;
}


/* 用户头像 */
.p-account .user-avatar {
  width: 50px;
  height: 50px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.7);
  border: 1px solid rgba(255, 255, 255, 0.8);
  margin-right: 12px;
  flex-shrink: 0;
  overflow: hidden;
}


.p-account .user-avatar-placeholder {
  display: flex;
  align-items: center;
  justify-content: center;
}


.p-account .user-avatar-icon {
  font-size: 24px;
}


/* 编辑入口 */
.p-account .edit-entry {
  display: flex;
  align-items: center;
  color: #65B0E8;
  font-size: 14px;
  font-weight: bold;
}


.p-account .edit-entry-arrow {
  margin-left: 4px;
  font-size: 16px;
}


/* 编辑资料弹窗 */
.p-account .edit-box {
  max-width: 300px;
}


.p-account .edit-header {
  text-align: center;
  padding-bottom: 10px;
  margin-bottom: 8px;
  border-bottom: 0.5px solid rgba(0, 0, 0, 0.06);
}


.p-account .edit-title {
  font-size: 16px;
  font-weight: 700;
  color: #333;
}


.p-account .edit-body {
  padding: 5px 4px 10px;
}


.p-account .edit-avatar-section {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 10px 0;
}


.p-account .edit-avatar-btn {
  width: 80px;
  height: 80px;
  padding: 0;
  border-radius: 50%;
  background: transparent;
  border: none;
  line-height: normal;
  overflow: visible;
}


.p-account .edit-avatar-btn::after {
  border: none;
}


.p-account .edit-avatar-preview {
  width: 80px;
  height: 80px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  background: #f0f4f8;
}


.p-account .edit-avatar-empty {
  position: relative;
  border: 1px dashed #b0c4d8;
}


.p-account .edit-avatar-empty-icon {
  font-size: 36px;
}


.p-account .edit-avatar-camera {
  position: absolute;
  right: 3px;
  bottom: 3px;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  background: #65B0E8;
  display: flex;
  align-items: center;
  justify-content: center;
}


.p-account .edit-avatar-camera-icon {
  color: #fff;
  font-size: 16px;
}


.p-account .edit-avatar-hint {
  margin-top: 7px;
  font-size: 12px;
  color: #999;
}


.p-account .edit-nickname-section {
  margin-top: 12px;
  padding: 0 4px;
}


.p-account .edit-label {
  display: block;
  font-size: 13px;
  color: #666;
  margin-bottom: 6px;
}


.p-account .edit-nickname-input {
  width: 100%;
  height: 44px;
  background: #f5f8fb;
  border-radius: 8px;
  padding: 0 12px;
  font-size: 15px;
  border: 1px solid rgba(101, 176, 232, 0.15);
}


.p-account .edit-error {
  display: block;
  margin-top: 8px;
  font-size: 12px;
  color: #d32f2f;
  padding-left: 4px;
}


.p-account .edit-btns {
  display: flex;
  gap: 10px;
  margin-top: 12px;
  padding: 0 4px;
}


.p-account .btn {
  flex: 1;
  height: 44px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 22px;
  font-size: 15px;
  font-weight: bold;
}


.p-account .btn-cancel {
  background: #f0f2f5;
  color: #666;
}


.p-account .btn-confirm {
  background: linear-gradient(135deg, #65B0E8, #498AC7);
  color: #fff;
}


.p-account .btn-confirm.btn-disabled, .p-account .btn-confirm-delete.btn-disabled {
  opacity: 0.6;
}


.p-account .check-text {
  font-size: 13px;
  color: #37474f;
  flex: 1;
}


.p-account .check-pass .check-text {
  color: #2e7d32;
}


.p-account .check-fail .check-text {
  color: #c62828;
}


.p-account .check-hint {
  font-size: 11px;
  color: #ef5350;
  padding: 0 12px 8px 32px;
  line-height: 1.5;
}


.p-account .delete-warning {
  margin-top: 10px;
  padding: 10px 12px;
  background: rgba(255, 152, 0, 0.1);
  border: 1px solid rgba(255, 152, 0, 0.25);
  border-radius: 8px;
  color: #ef6c00;
  font-size: 12px;
  line-height: 1.6;
  text-align: center;
}


.p-account .delete-warning span {
  color: #ef6c00;
}


/* 按钮区 */
.p-account .delete-btns {
  display: flex;
  gap: 8px;
  margin-top: 12px;
  padding-top: 10px;
  border-top: 1px solid rgba(0, 0, 0, 0.04);
}


.p-account .btn {
  flex: 1;
  height: 38px;
  line-height: 38px;
  border-radius: 19px;
  font-size: 13px;
  text-align: center;
  font-weight: 600;
}


.p-account .btn-cancel {
  background: rgba(255, 255, 255, 0.9);
  color: #546e7a;
  border: 1px solid rgba(84, 110, 122, 0.15);
}


.p-account .btn-cancel:active {
  transform: scale(0.96);
  background: rgba(255, 255, 255, 0.8);
}


.p-account .btn-confirm-delete {
  background: linear-gradient(135deg, #e53935 0%, #d32f2f 100%);
  color: #ffffff;
  box-shadow: 0 2px 7px rgba(229, 57, 53, 0.3);
}


.p-account .btn-confirm-delete:active {
  transform: scale(0.96);
  box-shadow: 0 1px 4px rgba(229, 57, 53, 0.2);
}


.p-account .btn-disabled {
  background: rgba(189, 189, 189, 0.4) !important;
  color: rgba(117, 117, 117, 0.6) !important;
  box-shadow: none !important;
  border: 1px solid rgba(189, 189, 189, 0.3) !important;
}
