/* ============================================================
   新增组件样式（沿用原有设计语言：浅底 / 白卡 / 荧光绿主色）
   ============================================================ */

/* 轻提示 */
.toast-wrap{position:fixed;left:50%;top:calc(14px + env(safe-area-inset-top));transform:translateX(-50%);
  z-index:120;display:flex;flex-direction:column;gap:8px;width:min(92%,430px);pointer-events:none}
.toast{background:#10130c;color:#fff;padding:11px 15px;border-radius:13px;font-size:13px;line-height:1.5;
  box-shadow:0 10px 30px #0003;opacity:.97;animation:toastIn .22s ease}
.toast.err{background:#a12d2d}
.toast.ok{background:#10130c}
@keyframes toastIn{from{opacity:0;transform:translateY(-10px)}to{opacity:.97;transform:none}}

/* 表单 */
.form-input,textarea.form-input{width:100%;border:1px solid var(--line);background:#f7f8fa;color:var(--text);
  padding:11px;border-radius:10px;outline:none;font:inherit;font-size:14px}
.form-input:focus{border-color:#c9f36c;background:#fff}
textarea.form-input{resize:vertical}

/* 按钮 */
.btn{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:20px;
  background:var(--accent);color:#243000;font-weight:800;padding:11px 18px;cursor:pointer;font-size:14px}
.btn:disabled{opacity:.55}
.btn.block{width:100%}
.btn.line{background:#f4f5f6;color:#3a3f45}
.btn.ghost{background:#fff;border:1px solid var(--line);color:#444}
.btn.small{padding:7px 12px;font-size:12px;border-radius:14px}
.btn.danger{background:#ffe9e9;color:#b32a2a}

/* 分段标签 */
.tabs{display:flex;gap:8px;overflow-x:auto;padding:2px 0 4px;scrollbar-width:none}
.tabs::-webkit-scrollbar{display:none}
.tab{border:1px solid var(--line);background:#fff;border-radius:18px;padding:7px 13px;
  font-size:12px;color:#777;white-space:nowrap;cursor:pointer}
.tab.active{background:#edffd0;border-color:#c9f36c;color:#4c6700;font-weight:800}

/* 通用列表行 */
.list-row{display:flex;gap:11px;background:#fff;border:1px solid var(--line);border-radius:14px;
  padding:13px;margin-bottom:10px}
.list-row .icon{width:40px;height:40px;flex:0 0 40px;border-radius:12px;background:#f2f5f7;
  display:grid;place-items:center;font-size:17px}
.list-row .body{flex:1;min-width:0}
.list-row b{font-size:13.5px;display:block}
.list-row p{margin:4px 0 0;color:#909499;font-size:11.5px;line-height:1.55;word-break:break-word}
.list-row time{color:#bbb;font-size:10.5px;flex:0 0 auto}

.empty{text-align:center;color:#bbb;font-size:13px;padding:64px 0}
.row-between{display:flex;align-items:center;justify-content:space-between;gap:10px}
.muted{color:#999;font-size:11.5px}
.pill{display:inline-block;padding:3px 8px;border-radius:8px;background:#f2f4f6;color:#7b8085;font-size:10.5px}
.pill.green{background:#efffc9;color:#4e6800}
.pill.blue{background:#e9f4ff;color:#2f6fbf}
.pill.red{background:#ffe9e9;color:#b32a2a}
.price-red{color:#ff4f4f;font-weight:900}

/* 订单卡片 */
.order-card{background:#fff;border:1px solid var(--line);border-radius:15px;padding:14px;margin-bottom:11px}
.order-card .head{display:flex;align-items:center;justify-content:space-between;gap:8px;
  padding-bottom:9px;border-bottom:1px solid #f3f4f6;font-size:11px;color:#a0a4a9}
.order-card .title{font-weight:800;font-size:14px;margin:10px 0 4px}
.order-card .specs{color:#909499;font-size:11.5px;line-height:1.6}
.order-card .foot{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:11px}
.order-card .actions{display:flex;gap:7px;flex-wrap:wrap}

/* 登录注册切换 */
.seg{display:flex;gap:8px;background:#f4f5f6;padding:4px;border-radius:13px;margin-bottom:6px}
.seg button{flex:1;border:0;background:none;padding:9px;border-radius:10px;font-weight:800;color:#8b9096;cursor:pointer}
.seg button.active{background:#fff;color:#1c1c1e;box-shadow:0 2px 8px #0000000f}

/* 弹窗内容滚动 */
.modal-box{max-height:86vh;overflow-y:auto}
.modal-box::-webkit-scrollbar{width:0}

/* 详情页规格行（兼容 style.css 中已有定义，这里补一个更紧凑的） */
.spec-row .spec-label{flex:0 0 74px}
.detail-rule{white-space:pre-wrap}

/* 分类侧栏 */
.category-side button{height:auto;min-height:56px;line-height:1.35;padding-top:10px;padding-bottom:10px}

/* 后台表格（admin.html 复用） */
.tbl{width:100%;border-collapse:collapse;font-size:12.5px}
.tbl th,.tbl td{padding:9px 10px;border-bottom:1px solid #f0f1f3;text-align:left;white-space:nowrap}
.tbl th{color:#8b9096;font-weight:600;background:#fafbfc}
.tbl tr:hover td{background:#fcfdfd}

/* ============ 首页轮播图 ============ */
.swiper{position:relative;margin-top:10px;border-radius:18px;overflow:hidden;background:#141d28;
  box-shadow:var(--shadow);touch-action:pan-y}
.swiper-track{display:flex;transition:transform .45s cubic-bezier(.22,.61,.36,1);will-change:transform}
.slide{flex:0 0 100%;min-width:100%;height:176px;position:relative;color:#fff;display:block;
  background-size:cover;background-position:center;cursor:pointer}
.slide .mask{position:absolute;inset:0;
  background:linear-gradient(90deg,rgba(8,12,18,.84) 0%,rgba(8,12,18,.42) 58%,rgba(8,12,18,.12) 100%)}
.slide .txt{position:absolute;left:18px;right:18px;bottom:16px;z-index:2}
.slide h3{margin:0;font-size:19px;line-height:1.3;font-weight:900}
.slide p{margin:6px 0 0;font-size:11.5px;color:#c8d0d8;line-height:1.55;max-width:80%}
.slide .go{display:inline-block;margin-top:11px;background:var(--accent);color:#243000;
  padding:6px 14px;border-radius:16px;font-size:11px;font-weight:800}
.swiper-badge{position:absolute;left:18px;top:16px;font-size:10px;letter-spacing:1.3px;
  color:#b9f52c;font-weight:800;z-index:2}
.swiper-dots{position:absolute;right:14px;bottom:14px;display:flex;gap:5px;z-index:3}
.swiper-dots i{width:5px;height:5px;border-radius:3px;background:rgba(255,255,255,.45);
  transition:.25s;display:block}
.swiper-dots i.on{width:15px;background:var(--accent)}

/* ============ 游戏分类横排 ============ */
.game-row{display:flex;gap:15px;overflow-x:auto;padding:14px 14px 10px;background:#fff;
  border:1px solid var(--line);border-radius:15px;margin-top:10px;scrollbar-width:none}
.game-row::-webkit-scrollbar{display:none}
.game-item{flex:0 0 auto;width:54px;text-align:center;cursor:pointer}
.game-item .gi{width:44px;height:44px;margin:0 auto 6px;border-radius:13px;display:grid;place-items:center;
  color:#fff;font-size:12px;font-weight:800;box-shadow:0 3px 10px rgba(0,0,0,.10)}
.game-item b{display:block;font-size:10.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
  font-weight:600;color:#3c4046}
.game-more .gi{background:#f2f4f6;color:#8b9096;font-size:15px;font-weight:900;letter-spacing:1px}

/* ============ 选人 ============ */
.person-card{display:flex;gap:12px;background:#fff;border:1px solid var(--line);border-radius:16px;
  padding:13px;margin-bottom:11px;cursor:pointer;transition:.16s}
.person-card:active{transform:scale(.993)}
.person-avatar{width:52px;height:52px;flex:0 0 52px;border-radius:16px;
  background:linear-gradient(135deg,#8eeaff,#557bff);display:grid;place-items:center;
  font-weight:900;color:#07111f;font-size:19px;position:relative}
.person-avatar .dot-on{position:absolute;right:-2px;bottom:-2px;width:12px;height:12px;border-radius:50%;
  background:#52d98a;border:2px solid #fff}
.person-avatar .dot-off{position:absolute;right:-2px;bottom:-2px;width:12px;height:12px;border-radius:50%;
  background:#c9ced4;border:2px solid #fff}
.person-body{flex:1;min-width:0}
.person-body .nm{display:flex;align-items:center;gap:6px;font-weight:800;font-size:14px}
.person-body .meta{color:#8b9096;font-size:11px;margin-top:5px;white-space:nowrap;overflow:hidden;
  text-overflow:ellipsis}
.person-body .tags{display:flex;gap:5px;flex-wrap:wrap;margin-top:7px}
.person-right{flex:0 0 auto;display:flex;flex-direction:column;align-items:flex-end;
  justify-content:space-between;gap:8px}
.person-right .rt{color:#f5b301;font-size:11px;font-weight:700}
.person-right .cnt{color:#a0a4a9;font-size:10px;margin-top:3px}
.pick-btn{border:0;background:var(--accent);color:#243000;font-weight:800;font-size:11px;
  padding:7px 12px;border-radius:14px;cursor:pointer;white-space:nowrap}

/* ============ 底部导航改为五格 ============ */
.bottom-nav{grid-template-columns:repeat(5,1fr)}
.bottom-nav button{font-size:9.5px;gap:3px}
.bottom-nav svg{width:21px;height:21px}
.bottom-nav button.center svg{width:23px;height:23px}

/* ============ 全屏页面（登录注册 / 编辑资料） ============ */
.page-view{position:fixed;inset:0;background:var(--bg,#f5f6f8);z-index:90;overflow-y:auto;
  padding-bottom:30px;transform:translateX(100%);transition:transform .26s ease;visibility:hidden}
.page-view.show{transform:none;visibility:visible}
.page-head{position:sticky;top:0;z-index:3;display:flex;align-items:center;gap:10px;
  padding:14px 15px;background:rgba(245,246,248,.92);backdrop-filter:blur(12px)}
.page-head b{font-size:17px}
.page-back{border:0;background:#fff;border-radius:12px;width:38px;height:38px;font-size:22px;
  line-height:1;color:#333;box-shadow:0 2px 8px #0000000d;cursor:pointer}
.head-save{margin-left:auto;border:0;background:var(--accent);color:#243000;font-weight:800;
  font-size:12px;padding:9px 16px;border-radius:16px;cursor:pointer}

/* 登录注册 */
.auth-wrap{max-width:430px;margin:0 auto;padding:6px 18px 30px}
.auth-hero{padding:16px 4px 22px}
.auth-hero .mark{width:58px;height:58px;border-radius:18px;background:linear-gradient(135deg,#1d2734,#3d4653);
  color:var(--accent);display:grid;place-items:center;font-size:13px;font-weight:900;letter-spacing:.5px}
.auth-hero h1{font-size:22px;margin:16px 0 0;letter-spacing:.5px}
.auth-hero p{font-size:12px;color:#8b9096;margin:8px 0 0}
.auth-card{background:#fff;border:1px solid var(--line);border-radius:20px;padding:18px;
  box-shadow:0 10px 30px rgba(16,24,32,.05)}
.auth-card .field:first-of-type{margin-top:12px}
.auth-tip{text-align:center;color:#b0b4b9;font-size:11px;margin-top:16px}
.auth-submit{margin-top:18px}
.auth-agree{display:flex;align-items:flex-start;gap:7px;font-size:11px;color:#8b9096;
  margin-top:12px;line-height:1.6}

/* 个人资料 */
.profile-wrap{max-width:520px;margin:0 auto;padding:2px 15px 24px}
.profile-card{display:flex;align-items:center;gap:14px;background:#fff;border:1px solid var(--line);
  border-radius:18px;padding:18px;margin-bottom:12px}
.profile-avatar{position:relative;width:78px;height:78px;flex:0 0 78px;border-radius:50%;
  background:linear-gradient(135deg,#dff6a8,#a8e6ff);display:grid;place-items:center;
  overflow:visible;color:#51606b;font-size:24px;font-weight:800}
.profile-avatar img{width:100%;height:100%;border-radius:50%;object-fit:cover;display:block}
.avatar-upload{position:absolute;right:-4px;bottom:-2px;width:30px;height:30px;border-radius:50%;
  background:#111820;color:var(--accent);display:grid;place-items:center;cursor:pointer;
  border:3px solid #fff}
.avatar-upload input{display:none}
.avatar-upload svg{width:15px;height:15px}
.profile-id{flex:1;min-width:0}
.profile-id b{font-size:17px}
.profile-form{background:#fff;border:1px solid var(--line);border-radius:18px;padding:16px}
.mine-avatar{overflow:hidden}
.mine-avatar img{width:100%;height:100%;object-fit:cover;display:block;border-radius:inherit}

/* 游戏图标 / 商品封面 */
.game-item .gi{overflow:hidden;padding:0}
.game-item .gi img{width:100%;height:100%;object-fit:cover;display:block;border-radius:inherit}
.category-product .pic{overflow:hidden;position:relative}
.category-product .pic img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.service-pic{overflow:hidden;position:relative}
.service-pic img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}

/* 商品详情图 / 规格 */
.detail-cover{width:100%;height:150px;object-fit:cover;border-radius:16px;margin:0 0 12px;display:block}
.detail-gallery{display:flex;gap:8px;overflow-x:auto;padding-bottom:4px;scrollbar-width:none}
.detail-gallery::-webkit-scrollbar{display:none}
.detail-gallery img{width:76%;flex:0 0 76%;height:190px;object-fit:cover;border-radius:14px;border:1px solid var(--line)}
.spec-price-tip{font-size:10.5px;color:#9aa0a6;margin-left:4px}
.qty-stepper{display:flex;align-items:center;gap:0;border:1px solid var(--line);border-radius:12px;overflow:hidden}
.qty-stepper button{border:0;background:#f4f5f6;width:38px;height:36px;font-size:17px;cursor:pointer;color:#333}
.qty-stepper input{width:52px;height:36px;border:0;border-left:1px solid var(--line);
  border-right:1px solid var(--line);text-align:center;font:inherit;font-weight:800;outline:none}
.stock-warn{color:#c0392b;font-size:11px;margin-top:6px}
/* 弹窗必须在全屏页面之上 */
.modal{z-index:200!important}
.toast-wrap{z-index:220}


/* ============ 详情 / 订单 / 接单中心：独立全屏页 ============ */
.escort-detail{position:fixed;inset:0;z-index:80;background:var(--bg,#f5f6f8);
  overflow-y:auto;-webkit-overflow-scrolling:touch;max-width:none;margin:0;padding-bottom:96px}
.escort-detail.show{display:block}

/* ============ 订单群聊 ============ */
.chat-entry{background:#fff;border:1px solid var(--line);border-radius:15px;padding:12px 14px;margin-bottom:12px}
.chat-entry-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}
.chat-entry-head b{font-size:14.5px}
.chat-entry-head span{font-size:11px;color:#8aa22e;cursor:pointer}
.chat-list{display:flex;flex-direction:column;gap:8px}
.chat-empty{color:#aaa;font-size:12px;text-align:center;padding:16px 0}
.chat-item{display:flex;align-items:center;gap:10px;padding:10px;border-radius:12px;background:#f8f9fa;cursor:pointer;position:relative}
.chat-ico{width:38px;height:38px;border-radius:11px;background:#efffc9;color:#4d6800;display:grid;place-items:center;flex:0 0 38px}
.chat-ico svg{width:20px;height:20px}
/* 微信群式九宫格头像 */
.group-avatar{width:48px;height:48px;flex:0 0 48px;border-radius:10px;background:#e8ebee;
  display:grid;gap:1px;padding:1px;overflow:hidden;box-sizing:border-box}
.group-avatar img{width:100%;height:100%;min-width:0;min-height:0;object-fit:cover;display:block;
  background:#e8ebee}
.group-avatar span{width:100%;height:100%;min-width:0;min-height:0;object-fit:cover;
  display:grid;place-items:center;font-size:11px;font-weight:700;color:#3c4652;background:#cdd5dd;
  overflow:hidden;line-height:1}
.group-avatar span:nth-child(2n){background:#d7dfe8;color:#425064}
.group-avatar span:nth-child(3n){background:#c9d8cf;color:#3f5748}
.group-avatar.n1{grid-template-columns:1fr;grid-template-rows:1fr}
.group-avatar.n1 span{font-size:17px}
.group-avatar.n2{grid-template-columns:repeat(2,1fr);grid-template-rows:1fr}
.group-avatar.n3{grid-template-columns:repeat(3,1fr);grid-template-rows:1fr}
.group-avatar.n4{grid-template-columns:repeat(2,1fr);grid-template-rows:repeat(2,1fr)}
.group-avatar.n5,.group-avatar.n6,.group-avatar.n7,.group-avatar.n8,.group-avatar.n9{
  grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(3,1fr)}
.chat-item-body{min-width:0;flex:1}
.chat-item-top{display:flex;align-items:center;gap:8px}
.chat-item-top b{font-size:12.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.chat-item-top span{margin-left:auto;color:#aaa;font-size:10px;flex:0 0 auto}
.chat-item-last{color:#888;font-size:11px;margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.chat-item-members{color:#b0b5ba;font-size:10px;margin-top:2px}
.chat-badge{position:absolute;right:8px;top:8px;min-width:17px;height:17px;border-radius:9px;background:#ff4f4f;color:#fff;font-size:9px;font-style:normal;display:grid;place-items:center;padding:0 4px}

.chat-view{position:fixed;inset:0;z-index:95;background:#f5f6f8;display:none;flex-direction:column}
.chat-view.show{display:flex}
.chat-head{display:flex;align-items:center;gap:10px;padding:12px 14px;background:#fff;border-bottom:1px solid var(--line);flex:0 0 auto}
.chat-back{border:0;background:#f4f5f6;border-radius:11px;width:36px;height:36px;font-size:22px;line-height:1;color:#333;cursor:pointer}
.chat-head-info{min-width:0}
.chat-head-info b{display:block;font-size:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.chat-head-info small{display:block;color:#999;font-size:10px;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.chat-body{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:14px 14px 10px;display:flex;flex-direction:column;gap:10px}
.chat-sys{align-self:center;max-width:86%;text-align:center;color:#8b9096;background:#eceff1;border-radius:10px;padding:7px 10px;font-size:10.5px;line-height:1.55}
.chat-msg{max-width:78%;align-self:flex-start}
.chat-msg.mine{align-self:flex-end;text-align:right}
.chat-msg-meta{font-size:10px;color:#9aa0a6;margin-bottom:3px}
.chat-msg-meta span{margin-left:5px;color:#b0b5ba}
.chat-msg-bubble{display:inline-block;background:#fff;border:1px solid var(--line);border-radius:12px;padding:9px 12px;font-size:13px;line-height:1.6;text-align:left;word-break:break-word;white-space:pre-wrap}
.chat-msg.mine .chat-msg-bubble{background:#e9ffc0;border-color:#d3f18b}
.chat-input-bar{flex:0 0 auto;display:flex;gap:8px;padding:10px 14px calc(10px + env(safe-area-inset-bottom));background:#fff;border-top:1px solid var(--line)}
.chat-input-bar input{flex:1;min-width:0;border:1px solid var(--line);background:#f7f8fa;border-radius:20px;padding:10px 14px;font:inherit;font-size:13px;outline:none}
.chat-input-bar button{flex:0 0 68px;border:0;border-radius:20px;background:var(--accent);color:#243000;font-weight:800;font-size:13px;cursor:pointer}
.chat-hint{margin-top:8px;color:#9aa0a6;font-size:10.5px;line-height:1.55}

/* ============ 非微信环境提示 ============ */
.wx-gate{position:fixed;inset:0;z-index:9999;background:#f5f6f8;display:none;align-items:center;justify-content:center;padding:24px}
.wx-gate-card{width:min(360px,100%);background:#fff;border-radius:20px;padding:34px 24px;text-align:center;box-shadow:0 18px 50px rgba(16,24,32,.10)}
.wx-gate-icon{width:64px;height:64px;margin:0 auto 18px;border-radius:20px;background:#efffc9;color:#4d6800;display:grid;place-items:center}
.wx-gate-icon svg{width:34px;height:34px}
.wx-gate-card h2{font-size:19px;margin:0 0 10px}
.wx-gate-card p{color:#8b9096;font-size:13px;line-height:1.7;margin:0}
/* 微信登录 */
 .wx-login{background:#07c160!important;color:#fff!important;border:0!important;margin-bottom:14px}
 /* 彩虹聚合登录 */
 .caihong-login{color:#fff!important;border:0!important;margin-bottom:12px;font-weight:600}
 .caihong-wechat{background:#07c160!important}
 .caihong-qq{background:#12b7f5!important;display:flex!important;align-items:center;justify-content:center;gap:8px}
  .caihong-qq svg{flex:none;transform:translateY(-1px)}
 .auth-or{display:flex;align-items:center;gap:10px;color:#a8adb2;font-size:10.5px;margin:2px 0 12px}
 .auth-or:before,.auth-or:after{content:"";height:1px;background:#eceff1;flex:1}
/* 短信验证码登录 */
.sms-row{display:flex;gap:8px;align-items:center}
.sms-row .form-input{flex:1;min-width:0}
.sms-send{white-space:nowrap;flex:0 0 auto;padding:0 14px;height:42px;line-height:42px;font-size:12.5px}
.sms-send[disabled]{opacity:.55}
.auth-hint{text-align:center;color:#b0b4b9;font-size:11px;margin:10px 0 0}

/* ============ 首页商品卡：图片改正方形，卡片更紧凑 ============ */
.service-list .service-pic{height:auto;aspect-ratio:1/1;padding:10px;font-size:15px;line-height:1.3}
.service-list .service-body{padding:9px 10px 10px}
.service-list .service-title{font-size:12.5px}
.service-list .service-sub{margin:4px 0;font-size:9.5px;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden}
.service-list .service-bottom button{padding:5px 9px}

/* ============ 切换身份 ============ */
.identity-btn{margin-left:auto;font-size:11.5px;color:#4c6700;background:#efffc9;border-radius:14px;
  padding:6px 12px;cursor:pointer;font-weight:700}
.identity-item{display:flex;align-items:center;gap:12px;border:1px solid var(--line);border-radius:16px;
  padding:13px;margin-bottom:10px;cursor:pointer;background:#fff;transition:.16s}
.identity-item:active{transform:scale(.99)}
.identity-item.active{border-color:#c9f36c;background:#fbfff2}
.identity-ic{width:42px;height:42px;flex:0 0 42px;border-radius:13px;display:grid;place-items:center;
  font-weight:900;font-size:16px;background:linear-gradient(135deg,#1d2734,#3d4653);color:var(--accent)}
.identity-txt{flex:1;min-width:0}
.identity-txt b{font-size:14.5px;display:block}
.identity-txt p{margin:4px 0 0;color:#8b9096;font-size:11px;line-height:1.55}
.identity-arrow{color:#c3c8cd;font-size:18px}

/* ============ 护航申请流程 ============ */
.apply-flow{background:#f8faf5;border:1px solid #eef3e2;border-radius:14px;padding:12px;margin-bottom:14px}
.apply-step{display:flex;gap:9px;padding:6px 0}
.apply-step i{flex:0 0 19px;height:19px;border-radius:50%;background:var(--accent);color:#243000;
  font-size:10.5px;font-style:normal;font-weight:800;display:grid;place-items:center;margin-top:1px}
.apply-step b{font-size:12.5px}
.apply-step p{margin:3px 0 0;font-size:10.5px;color:#8b9096;line-height:1.6}
.apply-games{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:2px}
.apply-game{display:flex;align-items:center;gap:7px;border:1px solid var(--line);border-radius:11px;
  padding:9px 10px;font-size:12px;background:#fafbfc;cursor:pointer}
.apply-game input{width:15px;height:15px;accent-color:#9ede2c}
.apply-game span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.apply-status{background:#fbfff2;border:1px solid #dcf0b0;border-radius:12px;padding:10px 12px;
  font-size:11.5px;color:#5c7010;margin-bottom:13px}
.apply-divider{display:flex;align-items:center;gap:10px;color:#b0b5ba;font-size:10.5px;margin:16px 0 10px}
.apply-divider:before,.apply-divider:after{content:"";height:1px;background:#eceff1;flex:1}
.not-escort-ic{width:52px;height:52px;margin:0 auto;border-radius:16px;background:linear-gradient(135deg,#1d2734,#3d4653);
  color:var(--accent);font-weight:900;font-size:19px;display:grid;place-items:center}

/* 弹窗统一从屏幕正中间淡入，不做上下滑动 */
.modal .modal-box{animation:modalPop .16s ease}
@keyframes modalPop{from{opacity:0;transform:scale(.97)}to{opacity:1;transform:none}}

/* ============ 管事端工作台 ============ */
.manager-view{background:#f5f6f8}
.manager-head{display:flex;align-items:center;gap:11px;padding:14px 15px;background:#fff;
  border-bottom:1px solid var(--line);position:sticky;top:0;z-index:2}
.manager-back{border:0;background:#f4f5f6;border-radius:11px;width:36px;height:36px;font-size:22px;
  line-height:1;color:#333;cursor:pointer;flex:0 0 36px}
.manager-title{flex:1;min-width:0}
.manager-title b{font-size:16px;display:block}
.manager-title small{display:block;color:#9aa0a6;font-size:10px;margin-top:3px;white-space:nowrap;
  overflow:hidden;text-overflow:ellipsis}
.manager-panel{padding:13px 15px 40px;max-width:680px;margin:0 auto}
.manager-kpis{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-bottom:13px}
.kpi-card{background:#fff;border:1px solid var(--line);border-radius:15px;padding:12px}
.kpi-card span{display:block;color:#9aa0a6;font-size:10.5px}
.kpi-card b{display:block;font-size:18px;margin-top:5px;letter-spacing:.2px}
.kpi-card small{display:block;color:#a8adb2;font-size:9.5px;margin-top:4px}
.kpi-card.warn b{color:#c07b00}
.kpi-card.money b{color:#4c6700}
.manager-card{background:#fff;border:1px solid var(--line);border-radius:15px;padding:13px;margin-bottom:10px}
.manager-actions{display:flex;gap:7px;flex-wrap:wrap;margin-top:11px}
.invite-code{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:14px;letter-spacing:1px;cursor:pointer}
.invite-result{display:flex;flex-direction:column;gap:7px;margin-top:12px}
.invite-result .invite-code{background:#f8faf5;border:1px dashed #c9f36c;border-radius:11px;
  padding:11px;text-align:center;font-size:15px}
.finance-total{background:linear-gradient(135deg,#1d2734,#333e4c);color:#fff;border-radius:16px;
  padding:16px;margin-bottom:12px}
.finance-total span{font-size:11px;color:#b9c2cc;display:block}
.finance-total b{font-size:25px;display:block;margin:5px 0 4px;color:var(--accent)}
.finance-total small{font-size:10px;color:#96a1ac}

/* ============ 身份头像 ============ */
.identity-ic{overflow:hidden;padding:0}
.identity-ic img{width:100%;height:100%;object-fit:cover;display:block}

/* ============ 充值支付方式切换 ============ */
.pay-switch{display:flex;gap:9px;margin-bottom:12px}
.pay-switch button{flex:1;border:1px solid var(--line);background:#f7f8fa;color:#7b8085;
  border-radius:12px;padding:11px 8px;font:inherit;font-size:13px;font-weight:700;cursor:pointer}
.pay-switch button.active{border-color:#c9f36c;background:#edffd0;color:#3f5600}

/* ============ 消息列表 / 聊天详情 ============ */
.notice-row{cursor:pointer;transition:.14s}
.notice-row:active{transform:scale(.995)}
.pin-tag{display:inline-block;font-size:9px;font-weight:700;color:#4c6700;background:#efffc9;
  border-radius:6px;padding:1px 5px;margin-right:5px;vertical-align:1px}
.block-bar{display:flex;align-items:center;gap:6px;flex-wrap:wrap;background:#fff;border:1px dashed #dfe3e8;
  border-radius:12px;padding:9px 11px;font-size:11px;color:#8b9096}
.block-bar span{background:#f2f4f6;border-radius:9px;padding:3px 8px;color:#5f656b;cursor:pointer}
.block-bar small{margin-left:auto;color:#b0b5ba;font-size:10px}

.notice-view{position:fixed;inset:0;z-index:96;background:#f2f4f6;display:none;flex-direction:column}
.notice-view.show{display:flex}
.notice-head{display:flex;align-items:center;gap:10px;padding:12px 14px;background:#fff;
  border-bottom:1px solid var(--line);flex:0 0 auto}
.notice-back{border:0;background:#f4f5f6;border-radius:11px;width:36px;height:36px;font-size:22px;
  line-height:1;color:#333;cursor:pointer;flex:0 0 36px}
.notice-head-info{flex:1;min-width:0}
.notice-head-info b{display:block;font-size:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.notice-head-info small{display:block;color:#9aa0a6;font-size:10px;margin-top:2px}
.notice-more{border:0;background:#f4f5f6;border-radius:11px;height:36px;padding:0 11px;
  font-weight:900;color:#333;cursor:pointer;flex:0 0 auto}
.notice-body{flex:1;overflow-y:auto;padding:16px 14px 20px;display:flex;flex-direction:column;gap:14px}
.notice-msg{display:flex;gap:9px;align-items:flex-start;max-width:92%}
.notice-avatar{width:36px;height:36px;flex:0 0 36px;border-radius:11px;background:#fff;color:#8b9096;
  display:grid;place-items:center;border:1px solid var(--line)}
.notice-avatar svg{width:18px;height:18px}
.notice-msg-main{min-width:0}
.notice-msg-meta{font-size:10px;color:#a3a9af;margin-bottom:4px}
.notice-msg-meta span{margin-left:7px;color:#b8bdc2}
.notice-bubble{background:#fff;border:1px solid var(--line);border-radius:13px;padding:10px 12px;
  font-size:13px;line-height:1.65;word-break:break-word}
.notice-bubble b{display:block;font-size:13.5px;margin-bottom:5px}
.notice-bubble p{margin:0;color:#555;font-size:12.5px}
.notice-msg.focus .notice-bubble{border-color:#c9f36c;background:#fbfff2}
.notice-foot{flex:0 0 auto;display:flex;gap:8px;padding:10px 14px calc(10px + env(safe-area-inset-bottom));
  background:#fff;border-top:1px solid var(--line)}
.notice-foot input{flex:1;min-width:0;border:1px solid var(--line);background:#f7f8fa;border-radius:20px;
  padding:10px 14px;font:inherit;font-size:12px;color:#9aa0a6}
.notice-foot button{flex:0 0 68px;border:0;border-radius:20px;background:var(--accent);color:#243000;
  font-weight:800;font-size:13px;cursor:pointer}
.notice-actions{display:flex;flex-direction:column;gap:7px}
.notice-actions button{border:1px solid var(--line);background:#fff;color:#3c4046;border-radius:12px;
  padding:12px;font:inherit;font-size:13.5px;text-align:center;cursor:pointer}
.notice-actions button.danger{color:#b32a2a;border-color:#ffe0e0;background:#fff7f7}
.report-reasons{display:flex;gap:8px;flex-wrap:wrap}
.report-reasons button{border:1px solid var(--line);background:#fafbfc;color:#6f757b;border-radius:15px;
  padding:7px 12px;font-size:11.5px;cursor:pointer}
.report-reasons button.active{background:#edffd0;border-color:#c9f36c;color:#3f5600;font-weight:800}

/* ============ V10 补充：客服中心全屏页 + 状态徽标 ============ */
/* 客服中心默认隐藏，点击后全屏显示 */
.service-view{display:none}
.service-view.show{display:block}
/* V14: 客服工作台默认隐藏，仅打开时显示 */
.service-work-view{display:none}
.service-work-view.show{display:block}
/* 交付物状态 / 待验收等橙色徽标 */
.pill.orange{background:#fff3e0;color:#c07b00}
/* 交付物全屏提交页（打手）高于其他层 */
#deliverySubmitView{position:fixed;inset:0;z-index:300;background:#f5f6f8;overflow-y:auto;-webkit-overflow-scrolling:touch;padding-bottom:96px}

/* V14 fix: 所有全屏详情页默认隐藏，仅 .show 显示（防覆盖首页） */
.escort-detail, #deliverySubmitView, .service-work-view { display:none !important; }
.escort-detail.show, #deliverySubmitView.show, .service-work-view.show { display:block !important; }

/* 首页小分类栏 */
.subcat-row{display:flex;gap:8px;overflow-x:auto;padding:12px 0 4px;margin-top:4px;-webkit-overflow-scrolling:touch;scrollbar-width:none}
.subcat-row::-webkit-scrollbar{display:none}
.subcat-chip{flex:0 0 auto;border:1px solid #e8ebee;background:#fff;color:#5f666d;border-radius:999px;padding:8px 15px;font-size:12.5px;font-weight:600;white-space:nowrap;cursor:pointer;transition:all .18s}
.subcat-chip.on{background:#101820;color:#c9f36c;border-color:#101820}
.subcat-empty{flex:1;text-align:center;color:#b8bec5;font-size:12px;padding:10px 0}
.game-item.active .gi{outline:2px solid #c9f36c;outline-offset:2px}

/* 分类页：左侧分类栏窄化 + 小分类横条 */
.category-layout{grid-template-columns:86px minmax(0,1fr)!important}
.category-side button{height:48px!important;padding:0 6px 0 10px!important;font-size:12px!important}
.category-side button.active:before{height:22px!important;top:13px!important}
.cat-subcats{display:flex;gap:7px;overflow-x:auto;padding:8px 0 10px;scrollbar-width:none}
.cat-subcats::-webkit-scrollbar{display:none}
.cat-subcats .sc{flex:0 0 auto;border:1px solid #e8ebee;background:#fff;color:#5f666d;border-radius:999px;padding:6px 13px;font-size:12px;font-weight:600;white-space:nowrap;cursor:pointer}
.cat-subcats .sc.on{background:#101820;color:#c9f36c;border-color:#101820}
@media(max-width:380px){.category-layout{grid-template-columns:76px minmax(0,1fr)!important}.category-side button{font-size:11px!important;padding-left:8px!important}}

/* 去掉所有蓝色点击高亮方框，改为顺滑过渡 */
*{-webkit-tap-highlight-color:transparent!important}
a,button,input,select,textarea,div,span,li,label{-webkit-tap-highlight-color:transparent!important;-webkit-touch-callout:none}
button,input,select,textarea{outline:none!important}
button:focus,input:focus,select:focus,textarea:focus{outline:none!important;box-shadow:none!important}
button:active,a:active,.subcat-chip:active,.sc:active,.game-item:active,.tab:active,.bottom-nav button:active{outline:none!important}
/* 统一顺滑过渡（跟底部导航一致的按下反馈） */
.btn,.subcat-chip,.sc,.game-item,.tab,.bottom-nav button,.category-side button,.sc,.home-shortcut,.service-card,.category-product,.person-card{transition:transform .16s ease,background .18s ease,color .18s ease,border-color .18s ease,opacity .16s ease;will-change:transform}
.btn:active,.subcat-chip:active,.sc:active,.game-item:active,.home-shortcut:active,.service-card:active,.category-product:active,.person-card:active{transform:scale(.965)}
.category-side button:active,.tab:active,.bottom-nav button:active{opacity:.65;transform:none}
/* 游戏分类选中态 */
.game-item.on .gi{outline:2px solid #c9f36c;outline-offset:2px}
.game-item.on b{color:#101820;font-weight:900}

/* 商品详情返回键：固定悬浮在左上角，永不被封面图/滚动遮挡 */
#detailView .detail-back{
  position:fixed!important;
  left:14px!important;
  top:14px!important;
  z-index:999!important;
  width:40px!important;
  height:40px!important;
  border-radius:50%!important;
  border:0!important;
  background:rgba(0,0,0,.45)!important;
  backdrop-filter:blur(6px);
  -webkit-backdrop-filter:blur(6px);
  color:#fff!important;
  font-size:26px!important;
  line-height:1!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:0 0 3px 0!important;
  box-shadow:0 2px 10px rgba(0,0,0,.18);
  cursor:pointer;
}
#detailView .detail-back:active{transform:scale(.92);opacity:.85}
/* 详情页顶部留出返回键空间 */
#detailView .detail-cover{width:100%;display:block;max-height:280px;object-fit:cover}

/* 我的页面：昵称右侧称号徽章（不与昵称重叠） */
.mine-title-badge{
  display:inline-flex!important;
  align-items:center;
  flex:0 0 auto;
  max-width:120px;
  padding:2px 9px;
  border-radius:999px;
  font-size:11px;
  font-weight:800;
  line-height:1.6;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  background:linear-gradient(135deg,#ffd666,#ffb020);
  color:#5c3a00;
  box-shadow:0 1px 4px rgba(255,176,32,.35);
  vertical-align:middle;
}
.mine-title-badge.gold{background:linear-gradient(135deg,#ffe58f,#ffc53d);color:#613400}
.mine-title-badge.silver{background:linear-gradient(135deg,#e6e8eb,#c3c8cf);color:#3d434a}
