/* ===== 设计变量 ===== */
/* 合并自历史多份 :root，取 L48-60 版本（最完整） */

html{background:#07070e}
.fc-row1{display:flex;align-items:center;justify-content:space-between;gap:8px}
.fc-title{font-size:17px;font-weight:700;color:rgba(255,255,255,0.85);flex-shrink:0}
.fc-search-btn{background:none;border:none;color:rgba(255,255,255,0.6);cursor:pointer;padding:4px;display:flex;align-items:center;flex-shrink:0;height:24px}
.fc-search-btn:hover{color:rgba(255,255,255,0.9)}

/* ===== 护航样式 ===== */
.oc-badge-escort{font-size:10px;color:rgba(255,255,255,0.3);display:inline-flex;align-items:center;gap:3px;margin-right:6px;white-space:nowrap}
.oc-badge-escort svg{width:12px;height:12px}
.oc-team-info{display:flex;align-items:center;gap:8px;padding:0 16px 6px;font-size:11px;color:rgba(255,255,255,0.35);flex-wrap:wrap}
.oc-team-member{display:inline-flex;align-items:center;gap:4px}
.oc-team-member.accepted{color:rgba(0,200,80,0.7)}
.oc-team-member.invited{color:rgba(255,180,0,0.7)}
.oc-btn-invite{background:rgba(0,229,255,0.12);color:#00e5ff}
.oc-btn-team{background:rgba(124,60,237,0.12);color:#a78bfa}
.oc-btn-accept{background:rgba(0,200,80,0.12);color:#00c850}
.oc-btn-reject{background:rgba(255,60,60,0.1);color:#ff6b6b}
.oc-invite-banner{padding:8px 16px;background:linear-gradient(90deg,rgba(124,60,237,0.12),rgba(0,229,255,0.06));font-size:11px;color:rgba(255,255,255,0.5);display:flex;justify-content:space-between;align-items:center;border-radius:10px 10px 0 0}
.oc-invite-countdown{font-size:11px;color:#ffa000;font-weight:600}
.escort-modal-overlay{position:fixed;inset:0;z-index:300;background:rgba(0,0,0,0.6);display:flex;align-items:flex-end}
/* ===== 猎手设计系统 (shared) ===== */

:root {
  --bg: #07070e;
  --primary: #00e5ff;
  --accent: #7c3aed;
  --card-bg: rgba(255,255,255,0.04);
  --card-border: rgba(255,255,255,0.06);
  --text-primary: #fff;
  --text-secondary: rgba(255,255,255,0.50);
  --text-tertiary: rgba(255,255,255,0.25);
  --text-label: rgba(255,255,255,0.35);
  --tx1: rgba(255,255,255,0.8);
  --tx2: rgba(255,255,255,0.5);
  --tx3: rgba(255,255,255,0.3);
  --gold: #f59e0b;
  --green: #22c55e;
  --red: #ef4444;
  --blur: 20px;
  --radius-card: 16px;
  --radius-btn: 10px;}

/* 订单卡片按钮 */
.oc-footer {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  padding-top: 8px;
  border-top: 1px solid rgba(255,255,255,0.03);
  margin-top: auto;
}
.oc-actions { display:inline-flex; gap:6px; margin-left:auto }
.oc-btn { padding:4px 10px; border:none; border-radius:6px; font-size:11px; cursor:pointer; font-weight:600 }
.oc-btn-info { padding:6px 12px; border:none; border-radius:8px; font-size:12px; cursor:pointer; font-weight:600; background:rgba(124,60,237,0.12); color:#7c3aed; border:1px solid rgba(124,60,237,0.2) }
.oc-info-row { display:flex; gap:8px; margin-bottom:8px; padding-top:4px }
.oc-btn-confirm { background:rgba(0,229,255,0.15); color:#00e5ff }
.oc-btn-cancel { background:rgba(255,60,60,0.1); color:#ff6b6b }

/* 打手选择弹窗 */
.player-opt { padding:12px; cursor:pointer; border-bottom:1px solid rgba(255,255,255,0.04) }
.player-opt:hover { background:rgba(124,60,237,0.1) }
.player-opt:last-child { border-bottom:none }

/* 确认弹窗 */
#confirmModal .modal-box { max-width:320px }

/* 打手按钮 */
.oc-btn-transfer { background:rgba(255,180,0,0.12); color:#ffb400 }
.oc-btn-start { background:rgba(0,200,80,0.12); color:#00c850 }
.oc-btn-report { background:rgba(124,60,237,0.15); color:#a78bfa }

/* 报单弹窗 */
#reportModal textarea { background:rgba(255,255,255,0.04); border:1px solid rgba(255,255,255,0.06); color:#fff; border-radius:8px; padding:10px; font-size:13px; outline:none }
#reportModal textarea:focus { border-color:rgba(124,60,237,0.3) }

/* 游戏信息设置 */
.game-account-item { padding:12px; border-bottom:1px solid rgba(255,255,255,0.04) }
.game-account-item:last-child { border-bottom:none }
.ga-field { display:flex; gap:8px; margin-bottom:8px; align-items:center }
.ga-field label { font-size:11px; color:rgba(255,255,255,0.35); min-width:50px }
.ga-field input { flex:1; padding:8px 10px; background:rgba(255,255,255,0.04); border:1px solid rgba(255,255,255,0.06); border-radius:6px; color:#fff; font-size:13px; outline:none }
.ga-btn { width:100%; max-width:100%; padding:12px; background:rgba(124,60,237,0.1); border:1px solid rgba(124,60,237,0.15); border-radius:10px; color:#a78bfa; font-size:13px; cursor:pointer; margin-bottom:12px }

/* 倒计时 */
.oc-countdown { font-size:10px; color:#ffa000; margin-left:6px; white-space:nowrap }
*{margin:0;padding:0;box-sizing:border-box;-webkit-tap-highlight-color:transparent}
/* PLAN-H5-SELECT-SCROLL-UNIFY: 滚动条统一隐藏（移动端标准：触摸滚动无需滚动条 UI） */
*{scrollbar-width:none;-ms-overflow-style:none}
*::-webkit-scrollbar{display:none}
html,body{overscroll-behavior-y:contain}
body{font-family:-apple-system,'PingFang SC','Noto Sans SC','Microsoft YaHei','Inter',sans-serif;background:#07070e;
color:#fff;min-height:100vh;min-height:100dvh;overflow-x:hidden;display:block;overflow-y:auto;-webkit-font-smoothing:antialiased;isolation:isolate}

/* PLAN-BG-CONFIG: 炫光背景（默认紫青；配置后由 login.js/framework.js 注入 style#bg-glow-style 覆盖） */
body::before{
  content:'';position:fixed;inset:0;z-index:-1;pointer-events:none;
  background:
    radial-gradient(ellipse 900px 800px at 0% 40%, rgba(124,58,237,0.18) 0%, transparent 55%),
    radial-gradient(ellipse 700px 700px at 100% 60%, rgba(0,229,255,0.12) 0%, transparent 50%);
  opacity:0.7;
}

/* ===== App Shell ===== */
#app{max-width:430px;margin:0 auto;padding:env(safe-area-inset-top,0px) 0 calc(80px + env(safe-area-inset-bottom,0px));position:relative;background:transparent}
.page{display:none}
.page.active{display:block}

/* ===== Tabbar ===== */
.tabbar{position:fixed;bottom:0;left:0;right:0;margin:0 auto;width:100%;max-width:430px;background:rgba(7,7,14,0.95);border-top:1px solid rgba(255,255,255,0.03);display:flex;padding:6px 0 calc(14px + env(safe-area-inset-bottom,0px));z-index:100}
.tab-item{flex:1;display:flex;flex-direction:column;align-items:center;gap:2px;cursor:pointer;padding:4px 0;opacity:.4;transition:opacity .2s}
.tab-item.active{opacity:1}
.tab-icon{font-size:20px;line-height:1;color:rgba(255,255,255,0.8)}
.tab-label{font-size:11px;color:var(--text-label);letter-spacing:0.3px}
.tab-item.active .tab-label{color:var(--primary)}
.tab-item.active .tab-icon{color:var(--primary)}
.tab-dot{width:4px;height:4px;border-radius:50%;background:var(--primary);margin-top:1px;opacity:0}
.tab-item.active .tab-dot{opacity:1}
/* PLAN-BADGE-ARCH D1: 消息 tab 未读角标（红底白字数字，覆盖 tab-dot 4px 指示点样式） */
.tab-item[data-view="message"] .tab-dot{position:absolute;top:2px;right:calc(50% - 18px);width:auto;min-width:16px;height:16px;line-height:16px;padding:0 4px;border-radius:8px;background:#ff4d6a;color:#fff;font-size:10px;font-weight:600;text-align:center;opacity:1;display:none;box-sizing:border-box}
.tab-item[data-view="message"]{position:relative}


/* ===== Shop body: sidebar sticky + content right ===== */
.shop-body{display:flex;flex-direction:row;align-items:flex-start}
.fc-sidebar{width:120px;padding:16px;position:sticky;top:118px;z-index:20;height:calc(100vh - 178px);height:calc(100dvh - 178px);overflow-y:auto;flex-shrink:0;border-right:1px solid rgba(255,255,255,0.06)}
.fs-item{padding:14px 0;font-size:15px;cursor:pointer;color:var(--text-label);transition:all .15s;position:relative;text-align:center}
.fs-item:not(:last-child)::after{content:"";position:absolute;left:12px;right:12px;bottom:0;height:1px;background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,0.06) 20%,rgba(255,255,255,0.06) 80%,transparent 100%)}
.fs-item.active{color:var(--primary);background:rgba(124,60,237,0.06)}
.fs-divider{height:1px;background:rgba(255,255,255,0.04);margin:8px 16px}
.shop-main{flex:1;min-width:0}

/* ===== Header ===== */
.header{display:flex;align-items:center;justify-content:space-between;padding:20px 16px 10px}
.h-left{display:flex;align-items:center;gap:10px}
.h-avatar{width:40px;height:40px;border-radius:50%;background:rgba(0,229,255,0.12);display:flex;align-items:center;justify-content:center;font-size:16px;font-weight:900;color:var(--primary);font-family:Inter;overflow:hidden}
.h-info .h-name{font-size:14px;font-weight:700}
.h-info .h-rank{font-size:11px;color:var(--text-tertiary);margin-top:2px}
.h-stats{display:flex;gap:16px}
.h-stat{text-align:center}
.h-stat .num{font-family:Inter;font-size:16px;font-weight:900;color:var(--primary)}
.h-stat .lbl{font-size:10px;color:var(--text-label)}

/* ===== Wallet Card ===== */
.wallet-card{margin:8px 16px 20px;padding:16px 18px;background:var(--card-bg);border-radius:10px;border:1px solid var(--card-border);display:flex;align-items:center;justify-content:space-between}
.wc-left .lbl{font-size:11px;color:var(--text-label)}
.wc-left .amt{font-family:Inter;font-size:28px;font-weight:900;letter-spacing:-1px;margin-top:2px;color:var(--primary)}

/* ===== Wallet View (wallet.js) ===== */
.wallet-balance-card{margin:16px;padding:20px;background:linear-gradient(135deg,#1a1a2e,#16213e);border-radius:14px;border:1px solid rgba(99,102,241,0.2)}
.wb-label{font-size:11px;color:rgba(255,255,255,0.4)}
.wb-amount{font-size:32px;font-weight:900;color:#00e5ff;letter-spacing:-1px;margin:4px 0}
.wb-frozen{font-size:11px;color:rgba(255,255,255,0.3)}
.wr-item{display:flex;justify-content:space-between;align-items:center;padding:10px 0;border-bottom:1px solid var(--card-border)}
.wr-item:last-child{border-bottom:none}
.wr-left .wr-type{font-size:13px;font-weight:500;color:var(--text)}
.wr-left .wr-remark{font-size:11px;color:var(--text-label);margin-top:2px}
.wr-left .wr-time{font-size:10px;color:var(--text-label2,#888);margin-top:2px}
.wr-right{font-size:15px;font-weight:700}
.wr-right.wr-in{color:#22c55e}
.wr-right.wr-out{color:#ef4444}
.wr-right.wr-settle{color:#a78bfa}
.wr-balance{font-size:10px;font-weight:400;color:var(--text-label2,#888);margin-top:2px;text-align:right;white-space:nowrap}
.wc-btn{padding:8px 20px;background:rgba(0,229,255,0.08);border:1px solid rgba(0,229,255,0.15);border-radius:6px;color:var(--primary);font-size:13px;font-weight:700;cursor:pointer}

/* ===== Cards ===== */
.section-title{display:flex;align-items:center;justify-content:space-between;padding:0 16px;margin-bottom:12px}
.section-title h3{font-size:17px;font-weight:700}
.section-title span{font-size:12px;color:var(--text-label);cursor:pointer}

/* ===== Order Items ===== */
.order-list{padding:0 16px 40px}
.ol-title{font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:1px;color:var(--text-label);margin-bottom:12px}
.order-item{display:flex;gap:12px;margin-bottom:10px}
.oi-bar{width:3px;flex-shrink:0;border-radius:2px}
.oi-body{flex:1;background:var(--card-bg);border-radius:8px;padding:12px 14px;border:1px solid rgba(255,255,255,0.02)}
.oi-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px}
.oi-game{font-size:11px;font-weight:700;color:var(--primary)}
.oi-distance{font-size:10px;color:var(--text-tertiary);font-family:Inter}
.oi-title{font-size:14px;font-weight:700;margin-bottom:8px;color:rgba(255,255,255,0.72)}
.oi-tags{display:flex;gap:6px;margin-bottom:8px;flex-wrap:wrap}
.oi-tag{padding:2px 8px;border-radius:3px;font-size:10px;font-weight:600;background:rgba(255,255,255,0.015);color:rgba(255,255,255,0.50);border:1px solid rgba(255,255,255,0.06)}
.oi-bottom{display:flex;justify-content:space-between;align-items:center;padding-top:8px;border-top:1px solid rgba(255,255,255,0.015)}
.oi-reward{font-size:12px;color:var(--text-tertiary)}
.oi-reward strong{font-family:Inter;font-size:16px;color:var(--primary)}
.oi-grab{padding:10px 24px;background:rgba(0,229,255,0.06);border:1px solid rgba(0,229,255,0.12);border-radius:6px;color:var(--primary);font-size:13px;font-weight:700;cursor:pointer}

/* ===== Empty State ===== */
.empty-state{padding:80px 16px;text-align:center;color:var(--text-tertiary);font-size:14px}

/* ===== Modal ===== */
.modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,0.6);z-index:1000;display:none;align-items:center;justify-content:center;padding:20px}
.modal-overlay.show{display:flex}
.modal-box{background:#0e0e18;border:1px solid rgba(255,255,255,0.08);border-radius:20px;padding:24px;width:100%;max-width:360px;animation:modalIn .2s ease-out}
@keyframes modalIn{from{opacity:0;transform:scale(.92)}to{opacity:1;transform:scale(1)}}
.modal-title{font-size:18px;font-weight:700;margin-bottom:16px;text-align:center}
.modal-amount{font-size:36px;font-weight:800;color:var(--primary);text-align:center;margin-bottom:20px}
.modal-actions{display:flex;gap:12px}
.modal-actions button{flex:1;padding:12px;border-radius:12px;border:none;font-size:14px;font-weight:600;cursor:pointer}
.mbtn-cancel{background:rgba(255,255,255,0.06);color:var(--text-primary)}
.mbtn-confirm{background:linear-gradient(135deg,var(--accent),var(--primary));color:#fff}

/* ===== Toast ===== */
.toast{position:fixed;bottom:80px;left:0;right:0;margin:0 auto;width:fit-content;background:rgba(0,0,0,0.8);border:1px solid rgba(255,255,255,0.08);color:#fff;padding:10px 20px;border-radius:12px;font-size:13px;z-index:2000;opacity:0;transition:opacity .3s;pointer-events:none}
.toast.show{opacity:1}


/* ===== Package Card (商城新版) ===== */
.package-list{padding:0 16px;}
.pkg-card{background:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--radius-card);padding:14px 16px;margin-bottom:12px;position:relative}
.pkg-game{font-size:12px;color:var(--primary);font-weight:600;margin-bottom:2px;display:flex;align-items:center;justify-content:space-between;gap:6px}
.pkg-title{font-size:15px;font-weight:700;margin-bottom:3px}
.pkg-meta{display:flex;align-items:center;justify-content:space-between;margin-bottom:4px}
.pkg-price{display:flex;align-items:center;gap:4px}
.pkg-discount{font-size:10px;font-weight:700;padding:1px 6px;border-radius:4px;background:rgba(0,229,255,0.15);color:#00e5ff;border:1px solid rgba(0,229,255,0.25);letter-spacing:.3px}
.pkg-amount{font-size:22px;font-weight:800;color:var(--primary);letter-spacing:-0.3px;font-family:Inter}
.pkg-tags{display:flex;gap:4px;flex-wrap:wrap;margin-bottom:4px}
.pkg-tag{padding:2px 8px;border-radius:4px;font-size:10px;font-weight:600;background:rgba(124,60,237,0.12);color:rgba(124,60,237,0.7);border:1px solid rgba(124,60,237,0.08)}
.pkg-bottom{display:flex;align-items:center;justify-content:space-between;padding-top:8px;border-top:1px solid rgba(255,255,255,0.03)}
.pkg-sales{font-size:11px;color:var(--text-tertiary)}
.pkg-btn{padding:8px 22px;border-radius:var(--radius-btn);background:linear-gradient(135deg,var(--accent),var(--primary));color:#fff;border:none;font-size:13px;font-weight:600;cursor:pointer}

/* ===== Filter Card (商城筛选卡) ===== */
.filter-card{position:sticky;top:0;z-index:10;background:rgba(7,7,14,0.92);border:1px solid var(--card-border);border-radius:0;padding:16px;max-width:430px;margin:0 auto 12px}
.fc-search{margin-bottom:10px}
.fc-row{display:flex;align-items:center;gap:8px}
.fc-search{flex:1;min-width:0;display:flex;align-items:center;gap:6px}
.fc-input{width:100%;padding:9px 12px;background:rgba(255,255,255,0.03);border:1px solid rgba(255,255,255,0.08);border-radius:8px;color:#fff;font-size:13px;outline:none;height:38px;box-sizing:border-box}
.fc-search .fc-input:focus{border-color:rgba(0,229,255,0.4)}
.fc-search .fc-input::placeholder{color:rgba(255,255,255,0.2)}
.fc-game{flex-shrink:0;width:120px}
.fc-game select,.fc-game input{width:100%;padding:9px 30px 9px 12px;background:rgba(255,255,255,0.04);border:1px solid rgba(255,255,255,0.08);border-radius:8px;color:#fff;font-size:13px;outline:none;cursor:pointer;height:38px;min-height:38px;box-sizing:border-box;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' stroke='rgba(255,255,255,0.45)' stroke-width='1.5' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center}
.fc-game select option{background:#0d0d14;color:#fff;padding:8px}
.fc-game select optgroup{background:#0d0d14;color:#fff}
/* PLAN-H5-SELECT-SCROLL-UNIFY: select 透明覆盖层（拦截系统弹层，点击改走 openPicker） */
.fc-sel-mask{position:absolute;inset:0;z-index:5;cursor:pointer}
/* PLAN-H5-SELECT-SCROLL-UNIFY: 半透明统一 select（弹窗/表单内使用，与 .fc-game 同款视觉） */
.hs-select{width:100%;padding:9px 30px 9px 12px;background:rgba(255,255,255,0.04);border:1px solid rgba(255,255,255,0.08);border-radius:8px;color:#fff;font-size:13px;outline:none;cursor:pointer;height:38px;min-height:38px;box-sizing:border-box;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' stroke='rgba(255,255,255,0.45)' stroke-width='1.5' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center}
.hs-select option,.hs-select optgroup{background:#0d0d14;color:#fff}
/* PLAN-H5-SELECT-SCROLL-UNIFY: 下拉选择面板（openPicker，主流做法=点击控件下方展开，替代原生 select 弹层） */
.pk-overlay{position:fixed;inset:0;z-index:1500;background:transparent}
.pk-sheet{position:fixed;background:rgba(16,14,34,0.94);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border:1px solid rgba(255,255,255,0.1);border-radius:10px;box-shadow:0 8px 30px rgba(0,0,0,0.5);max-height:280px;overflow-y:auto;display:none;min-width:140px}
.pk-sheet.show{display:block;animation:pk-pop .18s ease-out}
@keyframes pk-pop{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}
.pk-title{font-size:12px;font-weight:600;color:rgba(255,255,255,0.45);padding:8px 14px 6px}
.pk-item{display:block;width:100%;padding:10px 14px;font-size:14px;color:#fff;text-align:left;cursor:pointer;border:none;background:transparent;transition:background .12s;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pk-item:active{background:rgba(255,255,255,0.07)}
.pk-item.sel{color:var(--primary,#00e5ff);font-weight:700}
.pk-item.sel::after{content:'✓';margin-left:8px;font-weight:700}
.pk-item + .pk-item{border-top:1px solid rgba(255,255,255,0.04)}
.fc-actions{display:flex;gap:4px;margin-left:auto;flex-shrink:0}
.fc-action-btn{background:none;border:none;color:rgba(255,255,255,0.7);font-size:12px;cursor:pointer;white-space:nowrap;padding:0 8px;height:38px;box-sizing:border-box;display:flex;align-items:center;justify-content:center;gap:4px;transition:color .15s}
.fc-action-btn.active{color:var(--primary)}
.fc-expand-btn{font-size:18px;font-weight:700;min-width:34px;padding:0}
.fc-expand-btn.active{color:var(--primary)}
/* PLAN-H5-SELECT-SCROLL-UNIFY: 排序/筛选文字按钮（纯文字+箭头，无外框；点击走 openPicker 下拉；抢单池/订单页统一排版） */
.fc-sort-btn{flex-shrink:0;display:inline-flex;align-items:center;gap:4px;height:38px;padding:0 8px;background:none;border:none;color:rgba(255,255,255,0.7);font-size:12px;cursor:pointer;box-sizing:border-box;white-space:nowrap}
.fc-sort-btn:active{color:rgba(255,255,255,0.9)}
.fc-filter-panel{margin-top:12px;padding-top:12px;border-top:1px solid rgba(255,255,255,0.06)}

.fc-tags{margin-top:8px;min-height:0}
.tag-add{padding:6px 16px;border-radius:16px;background:rgba(124,60,237,0.12);border:1px dashed rgba(124,60,237,0.25);color:rgba(124,60,237,0.65);font-size:12px;cursor:pointer;flex-shrink:0;white-space:nowrap}
.tag-chip{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border-radius:14px;background:rgba(0,229,255,0.08);border:1px solid rgba(0,229,255,0.15);color:var(--primary);font-size:11px;font-weight:600}
.tag-close{cursor:pointer;opacity:.5;font-size:10px;margin-left:2px}
.tag-close:hover{opacity:1}

/* ===== Tag Modal (标签弹窗) ===== */
.tag-modal-box{max-width:340px}
.tag-grid{display:flex;flex-wrap:wrap;gap:8px;padding:8px 0 16px;justify-content:center}
.tag-opt{padding:8px 18px;border-radius:20px;background:rgba(255,255,255,0.04);border:1px solid rgba(255,255,255,0.06);font-size:13px;color:var(--text-label);cursor:pointer;transition:all .15s}
.tag-opt.active{background:rgba(0,229,255,0.10);border-color:rgba(0,229,255,0.25);color:var(--primary)}

/* ===== Section Divider ===== */
.divider{display:flex;align-items:center;gap:12px;padding:4px 16px 0;margin-bottom:8px}
.divider::before,.divider::after{content:'';flex:1;height:1px;background:linear-gradient(90deg,transparent,rgba(255,255,255,0.08),transparent)}
.divider span{font-size:13px;color:var(--text-label);white-space:nowrap;font-weight:500}

/* ===== Page Header ===== */
.page-header{padding:4px 16px 0;text-align:left}
.page-header span{font-size:17px;font-weight:700;color:rgba(255,255,255,0.85)}

/* ===== Order Card (redesigned 2026-05-20) ===== */
#orderList{padding:0 16px;}
.order-card{background:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--radius-card);padding:12px 16px;margin-bottom:8px;cursor:pointer}
.order-card:active{opacity:.85}
/* PLAN-125: 终态订单折叠条（底部提示，点击展开/收起） */
.order-fold-bar{display:flex;align-items:center;justify-content:center;gap:6px;padding:10px 16px;margin-bottom:8px;border:1px dashed rgba(255,255,255,0.10);border-radius:10px;background:rgba(255,255,255,0.03);color:var(--text-secondary);font-size:12px;cursor:pointer}
.order-fold-bar b{color:var(--primary)}
.order-fold-bar .ofb-arrow{color:var(--text-tertiary);transition:transform .2s}
.order-fold-bar.expanded .ofb-arrow{transform:rotate(180deg)}
.oc-hdr{display:flex;justify-content:space-between;align-items:center;margin-bottom:2px}
.oc-gw{display:flex;align-items:center;gap:6px;flex:1}
.oc-bar{width:3px;height:14px;border-radius:2px;flex-shrink:0;background:var(--accent)}
.oc-gn{font-size:12px;font-weight:600}
.oc-gt{color:var(--accent)}
.oc-st{font-size:10px;font-weight:600;padding:2px 8px;border-radius:5px}
.oc-s1{background:rgba(124,60,237,0.12);color:#a78bfa}
.oc-s2{background:rgba(0,200,80,0.12);color:#00c850}
.oc-s3{background:rgba(0,229,255,0.1);color:var(--primary)}
.oc-ti{font-size:14px;font-weight:600;margin:0 0 5px;line-height:1.4}
.oc-card-folded{padding-bottom:16px}
.oc-card-folded .oc-tr{margin-bottom:12px}
.oc-tr{display:flex;align-items:center;gap:6px;margin-bottom:8px;min-height:26px}
.oc-pr{font-size:20px;font-weight:600;margin-right:auto;line-height:1}
.oc-pb{color:var(--primary)}
.oc-pp{color:#00c850}
.oc-tg{font-size:9px;padding:1px 6px;border-radius:3px;background:rgba(255,255,255,0.03);border:1px solid rgba(255,255,255,0.05);color:var(--tx3)}

/* ===== 打手信息栏 ===== */
.oc-pw{display:flex;gap:6px}
.oc-pw-mini{display:flex;align-items:center;gap:6px;padding:6px 10px;min-width:0;min-height:40px;background:rgba(255,255,255,0.02);border:1px solid rgba(255,255,255,0.03);border-radius:6px}
.oc-pw-mini:first-child{width:165px;flex:none;position:relative;overflow:hidden}
.oc-pw-mini:first-child::before{content:'';position:absolute;left:0;top:0;bottom:0;width:20px;z-index:1}
.oc-pw-mini.oc-rc-boss:first-child::before{background:rgba(255,180,0,0.12)}
.oc-pw-mini:last-child{flex:1;position:relative;overflow:hidden}
.oc-pw-mini:last-child::before{content:'';position:absolute;left:0;top:0;bottom:0;width:20px;z-index:1}
.oc-pw-mini.oc-rc-boss:last-child::before{background:rgba(255,180,0,0.12)}
.oc-pw-mini.oc-rc-cap:last-child::before{background:rgba(124,60,237,0.15)}
.oc-pw-mini.oc-rc-player:last-child::before{background:rgba(124,60,237,0.15)}
.oc-role-col{position:relative;z-index:2;display:flex;flex-direction:column;align-items:center;justify-content:center;width:20px;padding:6px 0;flex-shrink:0;font-size:9px;font-weight:700;line-height:1.3;color:#a78bfa;margin:-6px 0 -6px -10px}
.oc-rc-boss-txt{color:#ffb400}
.oc-rc-cap-txt{color:#a78bfa}
.oc-rc-player-txt{color:#a78bfa}
.oc-pl{display:flex;align-items:center;gap:10px;padding:8px 10px;flex:1;min-width:0}
/* 视觉重心补偿（2026-08-03）：老板/队长身份牌昵称+等级块上移 1.5px，两行中间点视觉对齐头像中间点（SPA 弹窗） */
.od-user-mini .oc-pl > div:last-child{transform:translateY(-2.5px)}
/* 等级标识整体缩小（2026-08-03 用户要求）：scale 不动位置 + 左原点（左边框与名字左对齐） */
.od-user-mini .oc-pl .oc-sb span{transform:scale(0.88);transform-origin:left center;display:inline-block}
.oc-av{width:28px;height:28px;border-radius:50%;background:linear-gradient(135deg,var(--accent),var(--primary));display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;color:#fff;flex-shrink:0;overflow:hidden}
.oc-avc{border-color:var(--accent)}
.oc-pn{font-size:12px;font-weight:600}
.oc-sb{font-size:10px;color:var(--tx3);margin-top:1px}
.oc-prm{display:flex;align-items:center;gap:4px;margin-left:auto;flex-shrink:0;padding-left:10px;border-left:1px solid rgba(255,255,255,0.04)}
.oc-mw{position:relative;width:20px;height:20px;flex-shrink:0}
.oc-mav{width:20px;height:20px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:7px;font-weight:700;color:#fff;border:1.5px solid rgba(255,255,255,0.1)}
.oc-mav-y{background:rgba(255,180,0,0.2);border-color:rgba(255,180,0,0.3)}
.oc-mav-g{background:rgba(0,200,80,0.2);border-color:rgba(0,200,80,0.3)}
.oc-dot{width:7px;height:7px;border-radius:50%;position:absolute;bottom:-1px;right:-1px;border:1.5px solid #07070e}
.oc-dy{background:#ffb400}
.oc-dg{background:#00c850}
.oc-prm-empty{font-size:9px;color:var(--tx3);white-space:nowrap}
.oc-pw-empty{font-size:11px;color:var(--tx3);text-align:center;width:100%;padding:0 4px;line-height:1.4}
.oc-ft{display:flex;justify-content:space-between;align-items:center;padding-top:8px;border-top:1px solid rgba(255,255,255,0.03)}
.oc-on{font-size:12px;color:var(--tx3);font-family:'Inter',monospace;margin-left:3px;display:flex;align-items:center;gap:3px}
.oc-on svg{width:10px;height:10px;opacity:0.4}
.oc-ft-right{display:flex;align-items:center;gap:6px}
.oc-ft-btn{display:flex;align-items:center;gap:3px;padding:5px 12px;border-radius:5px;border:none;font-size:9px;font-weight:600;cursor:pointer}
.oc-ft-btn svg{width:11px;height:11px}
.oc-btn-cs{background:rgba(255,255,255,0.04);border:1px solid rgba(255,255,255,0.06);color:var(--tx2)}
.oc-btn-review{background:rgba(255,180,0,0.1);border:1px solid rgba(255,180,0,0.12);color:#ffb400}
.oc-btn-tip{background:rgba(255,180,0,0.1);border:1px solid rgba(255,180,0,0.12);color:#ffb400}
/* 打赏弹窗金额按钮 */
.tip-amt{background:rgba(124,60,237,0.1);border:1px solid rgba(124,60,237,0.2);color:#fff;padding:8px 16px;border-radius:10px;font-size:14px;cursor:pointer;transition:all .15s}
.tip-amt:hover{background:rgba(124,60,237,0.25);border-color:#7c3aed}

/* 打赏弹窗美化 */
.tip-input{width:100%;padding:12px 16px;background:#0a0a14;border:1px solid rgba(255,255,255,0.08);border-radius:10px;color:#fff;font-size:16px;text-align:center;outline:none;box-sizing:border-box;transition:border-color .2s}
.tip-input:focus{border-color:rgba(124,60,237,0.4)}
.tip-input::placeholder{color:rgba(255,255,255,0.2)}
.tip-select{width:100%;padding:12px 16px;background:#0a0a14;border:1px solid rgba(255,255,255,0.08);border-radius:10px;color:#fff;font-size:14px;outline:none;cursor:pointer;appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23ffffff44' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;background-size:16px;transition:border-color .2s}
.tip-summary{font-size:12px;color:rgba(255,255,255,0.4);text-align:center;margin-bottom:10px;min-height:18px}
.tip-recipient{display:flex;align-items:center;gap:12px;padding:12px;background:rgba(255,255,255,0.03);border-radius:10px;margin-bottom:14px}
.tip-avatar{width:40px;height:40px;border-radius:50%;background:linear-gradient(135deg,#7C3AED,#00E5FF);display:flex;align-items:center;justify-content:center;font-size:16px;font-weight:700;color:#fff;flex-shrink:0}
.tip-info{flex:1;text-align:left}
.tip-name{font-size:14px;font-weight:600;color:#fff}
.tip-rank{font-size:11px;color:rgba(255,255,255,0.35);margin-top:2px}
.tip-balance{font-size:12px;color:rgba(255,255,255,0.35);text-align:center;margin-bottom:14px}

.oc-btn-invite{background:rgba(0,229,255,0.12);color:#00e5ff}
.oc-btn-start-team{background:rgba(0,200,80,0.12);color:#00c850}
.oc-btn-accept{background:rgba(0,200,80,0.12);color:#00c850}
.oc-btn-reject{background:rgba(255,60,60,0.1);color:#ff6b6b}

/* ===== Order Status Bar ===== */
.order-status-bar{display:flex;gap:6px;margin-top:8px;flex-wrap:wrap}
.os-item{padding:4px 12px;border-radius:14px;background:rgba(255,255,255,0.04);border:1px solid rgba(255,255,255,0.06);font-size:11px;color:var(--text-label);cursor:pointer;transition:all .15s}
.os-item.active{background:rgba(0,229,255,0.10);border-color:rgba(0,229,255,0.25);color:var(--primary)}

/* ===== Tab Jitter Fix ===== */
.tab-item{transition:none!important}
.page{min-height:60vh}

/* ===== Search toggle button ===== */

/* ===== Search panel (hidden by default) ===== */
.fc-search-panel{margin-top:10px;padding-top:10px;border-top:1px solid rgba(255,255,255,0.06);animation:fadeIn .2s ease}
.fc-search-panel .fc-input{width:100%;padding:9px 12px;background:rgba(255,255,255,0.03);border:1px solid rgba(255,255,255,0.08);border-radius:8px;color:#fff;font-size:13px;height:38px;box-sizing:border-box}

/* ===== Date range row ===== */
.fc-date-range{display:flex;align-items:center;gap:8px;margin-top:10px;padding-top:8px}
.fc-date-label{font-size:16px;flex:none}
.fc-date-arrow{color:rgba(255,255,255,0.4);font-size:14px;flex:none}
.fc-date{width:120px;flex:none;flex-shrink:0;padding:9px 12px;background:rgba(255,255,255,0.03);border:1px solid rgba(255,255,255,0.08);border-radius:8px;color:#fff;font-size:13px;height:38px;box-sizing:border-box;appearance:auto;min-height:0}
.fc-date::-webkit-calendar-picker-indicator{filter:invert(.7);cursor:pointer}


/* ===== fc-row2: game select + tags ===== */
.fc-row2{display:flex;align-items:flex-end;gap:8px;margin-top:8px}

/* ===== Profile Page ===== */
.profile-card{text-align:center;padding:24px 16px 16px}
.pc-avatar{width:64px;height:64px;border-radius:50%;background:linear-gradient(135deg,var(--accent),var(--primary));display:flex;align-items:center;justify-content:center;font-size:28px;font-weight:700;color:#fff;margin:0 auto 12px}
.pc-name{font-size:18px;font-weight:600;color:var(--text-primary);margin-bottom:4px}
.pc-role{font-size:13px;color:var(--text-secondary);margin-bottom:2px}
.pc-phone{font-size:12px;color:var(--text-tertiary)}
.profile-stats{display:flex;gap:8px;padding:0 16px;margin-bottom:20px}
.ps-item{flex:1;text-align:center;background:var(--card-bg);border:1px solid var(--card-border);border-radius:12px;padding:12px}
.ps-val{font-size:20px;font-weight:700;color:var(--accent);margin-bottom:4px}
.ps-lbl{font-size:12px;color:var(--text-tertiary)}
.logout-btn{display:block;width:calc(100% - 32px);margin:0 16px;padding:12px;background:rgba(255,69,58,0.1);border:1px solid rgba(255,69,58,0.2);border-radius:10px;color:#ff453a;font-size:15px;text-align:center;cursor:pointer}

/* ===== Orders date row (inside search panel) ===== */
.od-date-row{display:flex;align-items:center;gap:8px;margin-top:10px}
.od-date{flex:1;min-width:0;padding:9px 12px;background:rgba(255,255,255,0.03);border:1px solid rgba(255,255,255,0.08);border-radius:8px;color:#fff;font-size:13px;height:38px;box-sizing:border-box;appearance:auto;min-height:0}
.od-date::-webkit-calendar-picker-indicator{filter:invert(.7);cursor:pointer}
.od-date-arrow{color:rgba(255,255,255,0.4);font-size:14px;flex:none}

/* ===== Order status bar (centered, 4 items) ===== */
.order-status-bar{display:flex;justify-content:space-between;gap:6px;margin-top:10px}
.os-item{flex:1;text-align:center;padding:6px 4px;border-radius:8px;font-size:12px;color:var(--text-secondary);background:rgba(255,255,255,0.03);border:1px solid rgba(255,255,255,0.06);cursor:pointer;transition:all .2s;white-space:nowrap}
.os-item.active{color:var(--accent);background:rgba(0,229,255,0.08);border-color:rgba(0,229,255,0.2)}

/* ===== Sticky divider (same as filter-card) ===== */
.sticky-wrap{position:sticky;top:0;z-index:10;margin-bottom:12px}

/* ===== Pool Cards (抢单) ===== */
.pool-card{background:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--radius-card);padding:16px;margin:0 0 12px;position:relative}
.pc-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}
.pc-game{font-size:12px;color:var(--accent);font-weight:600}
.pc-price{font-size:16px;font-weight:700;color:var(--primary)}
.pc-title{font-size:15px;font-weight:600;color:var(--text-primary);margin-bottom:4px;line-height:1.4}
.pc-meta{font-size:12px;color:var(--text-tertiary);margin-bottom:12px}
.pool-grab-btn{display:block;width:100%;padding:10px;background:linear-gradient(135deg,var(--accent),var(--primary));border:none;border-radius:10px;color:#fff;font-size:15px;font-weight:700;cursor:pointer;transition:opacity .2s}
.pool-grab-btn:hover{opacity:.85}
.pool-grab-btn:disabled{opacity:.5;cursor:default}

/* ===== Updated Pool Card ===== */
.pool-card{background:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--radius-card);padding:16px;margin:0 0 12px}
.pc-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}
.pc-game{font-size:12px;color:var(--accent);font-weight:600}
.pc-badge{font-size:11px;color:var(--primary);background:rgba(0,229,255,0.08);padding:2px 8px;border-radius:4px}
.pc-title{font-size:15px;font-weight:600;color:var(--text-primary);margin-bottom:6px;line-height:1.4}
.pc-tags{display:flex;gap:4px;margin-bottom:10px;flex-wrap:wrap}
.pc-tag{font-size:11px;color:var(--text-secondary);background:rgba(255,255,255,0.04);border:1px solid rgba(255,255,255,0.06);padding:2px 8px;border-radius:4px}
.pc-footer{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}
.pc-price{font-size:18px;font-weight:700;color:var(--primary)}
.pc-meta{font-size:12px;color:var(--text-tertiary)}

/* ===== Home Page: Banner (Swiper.js) ===== */
.banner-wrap { position:relative; padding:0 16px }
.banner-slider { position:relative; width:100%; height:200px; overflow:hidden; border-radius:14px }
.banner-slider .swiper-slide { height:200px }
.banner-dots { position:absolute; bottom:8px; left:0; right:0; text-align:center; z-index:2 }
.banner-dot { display:inline-block; width:6px; height:6px; border-radius:50%;
  background:rgba(255,255,255,.3); margin:0 3px; cursor:pointer; transition:all .3s }
.banner-dot.active { width:16px; border-radius:3px; background:#fff }

/* ===== Home Page: Recommended Goods Grid ===== */
.home-goods-grid { display:grid; grid-template-columns:1fr 1fr; gap:10px; padding:0 16px 16px }
.hg-card { background:rgba(255,255,255,.03); border:1px solid rgba(255,255,255,.06);
  border-radius:12px; overflow:hidden; cursor:pointer; transition:transform .15s; position:relative }
.hg-card:active { transform:scale(.97) }
.hg-rank { font-size:10px; font-weight:700; padding:1px 6px; border-radius:4px; font-family:Inter,sans-serif; white-space:nowrap; flex-shrink:0 }
.hg-img { width:100%; aspect-ratio:16/10; background-size:cover; background-position:center }
.hg-game { font-size:11px; color:#00e5ff; font-weight:600; padding:8px 10px 0; display:flex; align-items:center; justify-content:space-between; gap:6px }
.hg-title { font-size:12px; color:#fff; font-weight:500; padding:1px 10px 0;
  overflow:hidden; text-overflow:ellipsis; white-space:nowrap }
.hg-tags { display:flex; gap:4px; flex-wrap:wrap; padding:4px 10px 0 }
.hg-tag { padding:1px 6px; border-radius:4px; font-size:9px; font-weight:600;
  background:rgba(124,60,237,0.12); color:rgba(124,60,237,0.7); border:1px solid rgba(124,60,237,0.08) }
.hg-price { font-size:16px; font-weight:800; color:#00e5ff; padding:3px 10px 0;
  font-family:Inter; display:flex; align-items:center; gap:4px }
.hg-discount { font-size:10px; font-weight:700; padding:1px 6px; border-radius:4px;
  background:rgba(0,229,255,0.15); color:#00e5ff; border:1px solid rgba(0,229,255,0.25) }
.hg-sales { font-size:10px; color:rgba(255,255,255,.3); padding:0 10px 8px }

/* 信息专栏（打手端广告位） */
.info-ad-list { display:flex; flex-direction:column; gap:10px }
.info-ad-item { border-radius:14px; overflow:hidden; cursor:pointer; background:rgba(255,255,255,.03); border:1px solid rgba(255,255,255,.06); transition:transform .15s }
.info-ad-item:active { transform:scale(.97) }
.ia-img { width:100%; aspect-ratio:16/9; background-size:cover; background-position:center; position:relative; display:flex; align-items:flex-end }
.ia-overlay { width:100%; padding:16px; background:linear-gradient(transparent,rgba(0,0,0,.7)) }
.ia-title { font-size:15px; font-weight:700; color:#fff; line-height:1.3 }
.ia-desc { font-size:12px; color:rgba(255,255,255,.7); margin-top:3px }

/* ===== Orders search input ===== */
.fc-search-input{flex:1;max-width:240px;padding:5px 14px;background:rgba(255,255,255,0.04);border:1px solid rgba(255,255,255,0.06);border-radius:999px;color:#fff;font-size:12px;outline:none;height:38px;box-sizing:border-box}
.fc-search-input:focus{border-color:rgba(0,229,255,0.3)}
.fc-search-input::placeholder{color:rgba(255,255,255,0.2)}

.pkg-rank-badge{background:rgba(124,60,237,0.15);color:#a78bfa;font-size:10px;font-weight:700;font-family:Inter,sans-serif;padding:1px 6px;border-radius:4px;white-space:nowrap;flex-shrink:0}

/* ===== Profile page v2 ===== */
.pf-section-title{font-size:12px;color:rgba(255,255,255,0.35);padding:0 16px;margin-top:16px;margin-bottom:8px}
.pf-card{background:var(--card-bg);border:1px solid var(--card-border);border-radius:16px;margin:0 16px}
.pf-card-inset{background:var(--card-bg);border:1px solid var(--card-border);border-radius:12px;margin:0 16px}
.pf-row{padding:14px 16px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(255,255,255,0.03);cursor:pointer}
.pf-row:last-child{border-bottom:none}
.pf-row-label{font-size:14px;color:rgba(255,255,255,0.75);display:flex;align-items:center;gap:10px}
.pf-row-arrow{font-size:14px;color:rgba(255,255,255,0.15)}
.pf-stat-grid{display:grid;padding:16px 0;text-align:center}
.pf-stat-grid.col3{grid-template-columns:1fr 1fr 1fr}
.pf-stat-grid.col4{grid-template-columns:1fr 1fr 1fr 1fr}
.pf-stat-val{font-size:20px;font-weight:700;font-family:Inter,sans-serif}
.pf-stat-lbl{font-size:10px;color:rgba(255,255,255,0.35);margin-top:2px}
.pf-func-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:0;padding:16px 0 8px}
.pf-func-item{display:flex;flex-direction:column;align-items:center;padding:8px 0 16px;cursor:pointer;gap:6px}
.pf-func-icon{width:44px;height:44px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:16px}
.pf-func-label{font-size:10px;color:rgba(255,255,255,0.55);text-align:center}
.pf-profile-row{display:flex;align-items:center;gap:14px;padding:16px}
.pf-avatar{width:56px;height:56px;border-radius:50%;background:linear-gradient(135deg,#7c3aed,#00e5ff);display:flex;align-items:center;justify-content:center;font-size:24px;font-weight:700;color:#fff;flex-shrink:0;cursor:pointer;overflow:hidden;position:relative}
.pf-avatar:hover::after{content:'换';position:absolute;inset:0;background:rgba(0,0,0,0.5);display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:400}
.pf-role-badge{display:inline-block;padding:2px 10px;border-radius:6px;font-size:10px;background:rgba(124,58,237,0.12);color:#a78bfa;border:1px solid rgba(124,58,237,0.2)}
.pf-balance-card{background:rgba(0,229,255,0.03);border:1px solid rgba(0,229,255,0.08);border-radius:16px;margin:0 16px;padding:14px 16px;display:flex;align-items:center;gap:12px}
.pf-balance-icon{width:36px;height:36px;border-radius:50%;background:rgba(0,229,255,0.12);display:flex;align-items:center;justify-content:center;font-size:14px;color:#00e5ff;flex-shrink:0}
.pf-balance-label{font-size:11px;color:rgba(255,255,255,0.35)}
.pf-balance-val{font-size:22px;font-weight:700;color:#00e5ff;font-family:Inter,sans-serif}
.pf-btn-sm{padding:7px 16px;border-radius:8px;font-size:11px;cursor:pointer;border:none;font-weight:600}
.pf-btn-primary{background:rgba(124,58,237,0.12);color:#a78bfa;border:1px solid rgba(124,58,237,0.2)}
.pf-btn-danger{background:transparent;color:#ff4d6a;border:1px solid rgba(255,77,106,0.2);border-radius:14px;height:48px;font-size:14px;cursor:pointer;width:100%}

/* Community styles */
.ch-header{display:flex;align-items:center;justify-content:space-between;padding:4px 0 12px}
.ch-title{font-size:20px;font-weight:800;color:#fff;letter-spacing:-0.5px}
.ch-mybtn{font-size:12px;color:#7c3aed;cursor:pointer;font-weight:600;padding:4px 0}
.ch-mybtn:active{opacity:0.6}
.ch-tabs{display:flex;gap:8px;margin-bottom:4px}
.ch-fab{position:fixed;right:20px;bottom:80px;width:52px;height:52px;border-radius:50%;border:none;background:linear-gradient(135deg,#7c3aed,#00e5ff);color:#fff;font-size:24px;cursor:pointer;z-index:100;box-shadow:0 4px 20px rgba(124,58,237,0.3);transition:all .2s}
.ch-fab:active{transform:scale(.92);box-shadow:0 2px 10px rgba(124,58,237,0.2)}
/* ===== PLAN-POOL-REFRESH-BOLT: 抢单池左下角悬浮闪电刷新按钮 ===== */
/* v6：外框去玻璃、边框淡化；新单=闪电描边呼吸；点击=紫色光沿边框扫一圈（分段变速+时长随机） */
.pool-refresh-btn{position:fixed;left:32px;bottom:calc(96px + env(safe-area-inset-bottom,0px) + 24px);width:48px;height:48px;border-radius:50%;border:1px solid rgba(255,255,255,0.12);background:rgba(8,10,22,0.75);display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:100;padding:0;outline:none;-webkit-tap-highlight-color:transparent;transition:transform .15s ease}
.pool-refresh-btn:active{transform:scale(.9)}
.pool-refresh-btn .bolt-icon{width:22px;height:22px;pointer-events:none}
/* 常态：闪电轮廓可见（半透明描边 + 透明填充），安静低调 */
.pool-refresh-btn .bolt-icon path{stroke-dasharray:100;stroke-dashoffset:0;fill:transparent;stroke:rgba(255,255,255,0.45);stroke-width:2;transition:fill .5s ease,stroke .4s ease}
/* 有新单：闪电描边呼吸发光（内部保持空心提示，外框不动） */
.pool-refresh-btn.has-new .bolt-icon path{stroke:rgba(0,229,255,0.9);fill:transparent;animation:bolt-stroke-breathe 1.6s ease-in-out infinite}
@keyframes bolt-stroke-breathe{0%,100%{opacity:.45;filter:drop-shadow(0 0 2px rgba(0,229,255,0.3))}50%{opacity:1;filter:drop-shadow(0 0 8px rgba(0,229,255,0.9))}}
/* 点击刷新：紫色光沿圆环边框扫一圈（建筑灯光追逐感；分段变速+时长随机 0.55-0.8s；opacity 渐入渐出结束不死板；光带边缘羽化柔和） */
.pool-refresh-btn.sweep::before{content:'';position:absolute;inset:-2px;border-radius:50%;padding:2px;background:conic-gradient(from 0deg,transparent 0deg 185deg,rgba(124,60,237,0.2) 205deg,rgba(124,60,237,0.95) 240deg,rgba(0,229,255,0.45) 275deg,rgba(0,229,255,0.12) 295deg,transparent 315deg);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);mask-composite:exclude;animation:bolt-sweep var(--bolt-dur,0.7s) cubic-bezier(0.6,0,0.35,1) 1 forwards;pointer-events:none}
@keyframes bolt-sweep{0%{transform:rotate(0deg);opacity:0}10%{opacity:1}55%{transform:rotate(295deg);opacity:1}85%{opacity:1}100%{transform:rotate(360deg);opacity:0}}
.cs-tab{display:inline-flex;align-items:center;padding:6px 16px;border-radius:20px;font-size:12px;font-weight:500;color:rgba(255,255,255,0.4);cursor:pointer;transition:all .2s ease;background:rgba(255,255,255,0.03);border:1px solid rgba(255,255,255,0.06);letter-spacing:0.3px}
.cs-tab.active{background:rgba(0,229,255,0.1);border-color:rgba(0,229,255,0.25);color:#00e5ff}
.cs-tab svg{width:13px;height:13px;margin-right:5px}
.cp-card{background:rgba(255,255,255,0.03);border:1px solid rgba(255,255,255,0.05);border-radius:16px;padding:18px;margin-bottom:14px;transition:all .2s ease;position:relative}
.cp-card:active{transform:scale(.98);background:rgba(255,255,255,0.05)}
.cp-user{display:flex;align-items:center;gap:10px;margin-bottom:12px}
.cp-avatar{width:32px;height:32px;border-radius:50%;background:linear-gradient(135deg,#7c3aed,#00e5ff);color:#fff;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;cursor:pointer;flex-shrink:0;box-shadow:0 2px 6px rgba(124,58,237,0.2)}
.cp-name{font-size:13px;font-weight:600;cursor:pointer;color:#fff}
.cp-time{font-size:10px;color:rgba(255,255,255,0.25);margin-top:1px}
.cp-text{font-size:14px;line-height:1.7;margin-bottom:12px;color:rgba(255,255,255,0.8)}
.cp-images{display:grid;gap:3px;border-radius:10px;overflow:hidden;margin-bottom:12px}
.cp-images.count-1{grid-template-columns:1fr;max-width:55%;border-radius:12px}
.cp-images.count-2{grid-template-columns:1fr 1fr;border-radius:10px}
.cp-images.count-3{grid-template-columns:repeat(3,1fr);border-radius:10px}
.cp-images.count-4,.cp-images.count-5,.cp-images.count-6,.cp-images.count-7,.cp-images.count-8,.cp-images.count-9{grid-template-columns:repeat(3,1fr);border-radius:10px}
.cp-images img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:4px;cursor:pointer;background:rgba(255,255,255,0.03);transition:opacity .2s}
.cp-images img:active{opacity:0.8}
.cp-images.count-1 img{aspect-ratio:auto;max-height:240px;object-fit:contain;border-radius:10px}
.cp-order{padding:12px;background:rgba(124,58,237,0.05);border:1px solid rgba(124,58,237,0.1);border-radius:10px;font-size:12px;margin-bottom:12px;display:flex;align-items:center;justify-content:space-between}
.cp-order .game{color:#7c3aed;font-weight:600}
.cp-order .title{color:rgba(255,255,255,0.45)}
.cp-order .price{color:#00e5ff;font-weight:700}
.cp-actions{display:flex;align-items:center;gap:20px;padding-top:12px;border-top:1px solid rgba(255,255,255,0.04)}
.cp-action{display:flex;align-items:center;gap:5px;cursor:pointer;font-size:12px;color:rgba(255,255,255,0.35);transition:color .2s;padding:2px 0}
.cp-action:active{color:#ff4d6a}
.cp-action svg{width:18px;height:18px;transition:all .2s}
.cp-expand{color:#00e5ff;font-size:12px;cursor:pointer;font-weight:500;margin-left:4px}
.cp-expand:active{opacity:0.6}


/* ===== Boss Home: Logo ===== */
.boss-logo{display:flex;align-items:center;gap:10px;padding:12px 16px}
.bl-icon{width:40px;height:40px;border-radius:10px;background:linear-gradient(135deg,#7c3aed,#00e5ff);display:flex;align-items:center;justify-content:center;flex-shrink:0}
.bl-text{flex:1;min-width:0}
.bl-name{font-size:15px;font-weight:700;color:#fff}
.bl-slogan{font-size:11px;color:rgba(255,255,255,0.35);margin-top:2px}

/* ===== Boss Home: Marquee ===== */
.marquee-bar{display:flex;align-items:center;gap:8px;margin:8px 16px;height:36px;padding:0 10px;background:rgba(255,255,255,0.03);border:1px solid rgba(255,255,255,0.06);border-radius:8px;box-sizing:border-box}
.mq-icon{flex-shrink:0;color:rgba(255,255,255,0.35)}
.mq-track{flex:1;overflow:hidden;white-space:nowrap;height:18px;line-height:18px}
.mq-text{display:inline-block;font-size:12px;color:rgba(255,255,255,0.55);animation:marquee 15s linear infinite;padding-left:0}
@keyframes marquee{0%{transform:translateX(100%)}100%{transform:translateX(-100%)}}

/* ===== Boss Home: Function Buttons ===== */
.home-btns{display:flex;gap:10px;padding:0 16px;margin:0}
.home-btns .hb-item{flex:1;display:flex;align-items:center;gap:10px;padding:12px;background:rgba(255,255,255,0.03);border:1px solid rgba(255,255,255,0.06);border-radius:10px;cursor:pointer}
.home-btns .hb-item:active{background:rgba(255,255,255,0.06)}
.hb-icon{flex-shrink:0;width:18px;height:18px;display:block}
.hb-body{flex:1;min-width:0}
.hb-label{font-size:13px;font-weight:600;color:#fff}
.hb-sub{font-size:11px;color:rgba(255,255,255,0.3);margin-top:1px}
.hb-arrow{font-size:16px;color:rgba(255,255,255,0.2);flex-shrink:0}

/* ===== Ranking Page ===== */
.rk-tab{display:inline-flex;padding:6px 16px;border-radius:14px;font-size:12px;color:rgba(255,255,255,0.35);background:rgba(255,255,255,0.03);border:1px solid rgba(255,255,255,0.06);cursor:pointer}
.rk-tab.active{background:rgba(0,229,255,0.1);border-color:rgba(0,229,255,0.25);color:#00e5ff}
.rk-list{display:flex;flex-direction:column;gap:8px}
.rk-row{display:flex;align-items:center;gap:9px;padding:12px 8px;background:rgba(255,255,255,0.02);border:1px solid rgba(255,255,255,0.04);border-radius:12px}
/* PLAN-126: 前三名统一放大 v3——1名金色边框标识冠军 / 2-3名次亮 / 其余基准 */
.rk-row.rk-top1{padding:13px 8px;border:1px solid rgba(255,215,0,0.4);background:rgba(255,215,0,0.05);box-shadow:0 0 12px rgba(255,215,0,0.08)}
.rk-row.rk-top2{padding:13px 8px;border:1px solid rgba(255,255,255,0.1);background:rgba(255,255,255,0.035)}
.rk-medal{width:24px;font-size:15px;font-weight:800;text-align:center;flex-shrink:0}
.rk-num{width:24px;font-size:13px;color:rgba(255,255,255,0.25);text-align:center;flex-shrink:0}
.rk-avatar{border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;color:#fff;flex-shrink:0;overflow:hidden}
.rk-avatar[onclick]{cursor:pointer}
.rk-info{flex:1;min-width:0}
.rk-name{font-size:13px;font-weight:600;color:#fff}
.rk-meta{font-size:11px;color:rgba(255,255,255,0.35)}

/* PLAN-034 排行榜右上角切换（打手榜|老板榜）：纯文字，选中青色高亮 / 未选灰色 */
.rk-hs-tab{font-size:13px;font-weight:600;color:rgba(255,255,255,0.3);cursor:pointer;transition:color .15s}
.rk-hs-tab.active{color:#00e5ff}
.rk-subtabs{min-height:34px}

/* ===== 订单详情页 ===== */
.od-header{position:sticky;top:0;z-index:10;background:rgba(7,7,14,0.92);display:flex;align-items:center;padding:12px 16px;border-bottom:1px solid rgba(255,255,255,0.04)}
.od-header button{background:none;border:none;color:rgba(255,255,255,0.5);font-size:16px;cursor:pointer;padding:4px 8px;margin-right:8px}
.od-header span{font-size:16px;font-weight:600}
.od-body{padding:12px 16px 100px}
.od-info-card{background:var(--card-bg);border:1px solid var(--card-border);border-radius:16px;padding:16px;margin-bottom:10px}
.od-info-row1{display:flex;align-items:center;gap:6px;margin-bottom:8px}
.od-game{font-size:12px;color:#00e5ff;font-weight:600}
.od-badge-escort-sm{font-size:10px;color:rgba(255,255,255,0.3);background:rgba(255,255,255,0.04);padding:1px 6px;border-radius:4px}
.od-status-sm{font-size:11px;font-weight:600;padding:2px 8px;border-radius:5px;margin-left:auto}
.od-status-sm.os-doing{background:rgba(0,200,80,0.1);color:#00c850}
.od-status-sm.os-pending{background:rgba(255,180,0,0.1);color:#ffb400}
.od-status-sm.os-completed{background:rgba(0,229,255,0.1);color:#00e5ff}
.od-title{font-size:17px;font-weight:700;margin-bottom:12px;line-height:1.4}
.od-price-row{display:flex;justify-content:space-between;align-items:flex-start;padding-top:10px}
.od-price{font-size:22px;font-weight:800;font-family:Inter}
.od-price-pay{color:#ff6b6b}
.od-price-earn{color:#00c850}
.od-price-label{font-size:10px;color:rgba(255,255,255,0.25);margin-top:2px}
.od-meta-label{font-size:11px;color:rgba(255,255,255,0.35)}
.od-meta-val{font-size:13px;color:rgba(255,255,255,0.6);margin-top:2px}
.od-meta-line{display:flex;gap:16px;font-size:11px;color:rgba(255,255,255,0.25);margin-top:10px}
.od-section-card{background:var(--card-bg);border:1px solid var(--card-border);border-radius:16px;padding:16px;margin-bottom:10px}
.od-sec-title-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}
.od-sec-title{font-size:13px;font-weight:600;color:rgba(255,255,255,0.55)}
.od-sec-status{font-size:12px;color:rgba(255,255,255,0.3)}
.od-member-row{display:flex;align-items:center;gap:10px;padding:8px 0;border-bottom:1px solid rgba(255,255,255,0.03)}
.od-member-row:last-child{border-bottom:none}
.od-member-avatar{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:16px;flex-shrink:0}
.od-member-info{flex:1;min-width:0}
.od-member-name{font-size:13px;font-weight:500;color:rgba(255,255,255,0.85)}
.od-member-meta{font-size:11px;color:rgba(255,255,255,0.35);margin-top:2px}
.od-member-status-accepted{font-size:11px;font-weight:600;color:#00c850;white-space:nowrap}
.od-member-status-invited{font-size:11px;font-weight:600;color:#ffb400;white-space:nowrap}
.od-progress-wrap{display:flex;align-items:center;margin-top:12px;padding-top:8px;border-top:1px solid rgba(255,255,255,0.04)}
.od-progress-bar{flex:1;height:4px;background:rgba(255,255,255,0.06);border-radius:2px;overflow:hidden}
.od-progress-fill{height:100%;background:linear-gradient(90deg,#7c3aed,#00e5ff);border-radius:2px;transition:width .3s}
.od-account-row{display:flex;padding:6px 0;font-size:13px;border-bottom:1px solid rgba(255,255,255,0.02)}
.od-account-row:last-child{border-bottom:none}
.od-account-label{width:70px;color:rgba(255,255,255,0.35);flex-shrink:0;font-size:12px}
.od-account-val{color:rgba(255,255,255,0.65)}
.od-timeline{padding:4px 0;overflow:hidden}
.od-tl-item{display:flex;gap:10px;padding-bottom:14px;position:relative}
.od-tl-dot{width:8px;height:8px;border-radius:50%;background:rgba(124,60,237,0.4);flex-shrink:0;margin-top:4px;position:relative}
.od-tl-item:not(:last-child) .od-tl-dot::after{content:'';position:absolute;top:10px;left:3.5px;width:1px;height:calc(100% + 4px);background:rgba(255,255,255,0.05)}
.od-tl-content{flex:1;min-width:0}
.od-tl-time{font-size:10px;color:rgba(255,255,255,0.2);margin-bottom:2px}
.od-tl-text{font-size:12px;color:rgba(255,255,255,0.5);line-height:1.5}
.od-bottom-bar{position:fixed;bottom:0;left:0;right:0;margin:0 auto;width:100%;max-width:430px;z-index:200;background:rgba(10,10,20,0.95);border-top:1px solid rgba(124,60,237,0.12);padding:10px 16px;display:flex;gap:8px;padding-bottom:calc(10px + env(safe-area-inset-bottom,0px))}
.od-bottom-bar button{flex:1;padding:11px;border-radius:10px;border:none;font-size:13px;cursor:pointer;font-weight:600}
.od-btn-primary{background:linear-gradient(135deg,#7c3aed,#00e5ff);color:#fff}
.od-btn-success{background:rgba(0,200,80,0.15);color:#00c850}
.od-btn-danger{background:rgba(255,60,60,0.1);color:#ff6b6b}
.od-btn-team{background:rgba(124,60,237,0.12);color:#a78bfa}
.od-btn-disabled{background:rgba(255,255,255,0.04);color:rgba(255,255,255,0.25);cursor:not-allowed}
.od-inline-btn{padding:8px 16px;border-radius:8px;border:none;font-size:12px;cursor:pointer;font-weight:600}
.od-btn-primary-sm{background:rgba(0,229,255,0.12);color:#00e5ff}
.od-scroll{padding:12px 16px 75px;overflow-y:auto}
.od-section-title{font-size:13px;font-weight:600;color:rgba(255,255,255,0.6);margin-bottom:4px}
.od-tag{display:inline-block;padding:2px 8px;border-radius:4px;font-size:10px;background:rgba(255,255,255,0.04);border:1px solid rgba(255,255,255,0.06);color:rgba(255,255,255,0.45);margin-right:4px}
.od-tl-action{color:rgba(255,255,255,0.5)}
.od-tl-purple{background:#7c3aed!important}
.od-tl-cyan{background:#00e5ff!important}
.od-tl-green{background:#00c850!important}
.od-tl-gold{background:#f59e0b!important}
.od-tl-red{background:#ff3c3c!important}
.od-slot-disabled{opacity:0.4;cursor:default!important}

/* ===== 订单详情页（od-体系，2026-05-20） ===== */
/* 页面骨架 */
/* 顶部栏对齐套餐详情（2026-08-03）：padding 16 / gap 12 / 标题 17px / border-bottom */
.od-topbar{display:flex;align-items:center;gap:12px;padding:16px;border-bottom:1px solid rgba(255,255,255,0.04)}
.od-back{width:auto;min-width:30px;height:30px;padding:0 12px;border-radius:8px;background:rgba(255,255,255,0.03);border:1px solid var(--card-border);color:var(--tx2);display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:14px;flex-shrink:0;white-space:nowrap;gap:2px}
.od-title{font-size:17px;font-weight:700}
.od-topbar .od-title{margin-bottom:0;line-height:1.4}
/* 通用卡片 */
.od-card{background:var(--card-bg);border:1px solid var(--card-border);border-radius:16px;padding:12px 16px;margin-bottom:8px}
.od-acc{background:var(--card-bg);border:1px solid var(--card-border);border-radius:16px;padding:14px 16px;margin-bottom:8px}
.od-acc-hdr{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}
.od-acc-title{display:flex;align-items:center;gap:6px;font-size:11px;font-weight:600;color:var(--tx2)}
.dot-ac{width:3px;height:12px;border-radius:2px;background:var(--gold);flex-shrink:0}
.od-dot{width:3px;height:12px;border-radius:2px;background:var(--primary);flex-shrink:0}
.od-hdr{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px}
.od-game{font-size:12px;font-weight:700;color:var(--accent)}
.od-status{font-size:10px;font-weight:600;padding:2px 8px;border-radius:5px}
.od-s1{background:rgba(124,60,237,0.12);color:#a78bfa}
.od-s2{background:rgba(0,200,80,0.12);color:var(--green)}
.od-s3{background:rgba(0,229,255,0.1);color:var(--primary)}
.od-s4{background:rgba(255,60,60,0.12);color:var(--red)}
.od-ttl{font-size:17px;font-weight:700;margin-bottom:8px;line-height:1.4}
.od-price-row{display:flex;align-items:baseline;gap:8px;margin-bottom:6px}
.od-price{font-size:24px;font-weight:800;color:var(--primary);font-family:Inter}
.od-meta{font-size:11px;color:var(--tx3);display:flex;gap:14px;flex-wrap:wrap}
.od-ft{display:flex;justify-content:space-between;align-items:center;padding-top:8px;border-top:1px solid rgba(255,255,255,0.03);font-size:11px;color:var(--tx3);gap:14px;flex-wrap:wrap}
/* 老板游戏账号 */
.od-acc{background:var(--card-bg);border:1px solid var(--card-border);border-radius:16px;padding:14px 16px;margin-bottom:8px}
.od-acc-hdr{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}
.od-acc-title{display:flex;align-items:center;gap:6px;font-size:11px;font-weight:600;color:var(--tx2)}
.od-acc-title .od-dot{width:3px;height:12px;border-radius:2px;background:#ffb400;flex-shrink:0}
.od-acc-edit{display:flex;align-items:center;gap:4px;font-size:10px;padding:4px 12px;border-radius:5px;border:1px solid rgba(255,180,0,0.15);background:rgba(255,180,0,0.08);color:#ffb400;cursor:pointer;font-weight:600}
.od-acc-edit svg{width:11px;height:11px}
.od-acc-row{display:flex;align-items:center;gap:8px;padding:5px 0;border-bottom:1px solid rgba(255,255,255,0.02)}
.od-acc-row:last-child{border-bottom:none}
.od-acc-lbl{font-size:11px;color:var(--tx3);min-width:48px;flex-shrink:0}
.od-acc-val{font-size:12px;font-weight:600;color:var(--tx1);flex:1;word-break:break-all}
.od-acc-copy{width:24px;height:24px;border-radius:5px;border:1px solid var(--card-border);background:rgba(255,255,255,0.03);color:var(--tx2);cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.od-acc-copy:hover{background:rgba(0,229,255,0.08);color:var(--primary);border-color:rgba(0,229,255,0.2);position:relative}
.od-acc-copy:hover::after{content:'复制';position:absolute;top:-22px;left:50%;transform:translateX(-50%);font-size:8px;padding:2px 6px;border-radius:3px;background:rgba(0,0,0,0.8);color:#fff;white-space:nowrap}
.od-acc-copy svg{width:12px;height:12px}
.od-acc-empty{font-size:11px;color:var(--tx3);text-align:center;padding:10px 0}
/* 队伍区 */
.od-team-title{font-size:11px;font-weight:600;color:var(--tx2);margin-bottom:8px;display:flex;align-items:center;gap:6px}
.od-team-count{font-size:10px;color:var(--tx3);font-weight:400;margin-left:auto}
.od-team-count.full{color:var(--green)}
.od-member{display:flex;align-items:center;gap:8px;padding:8px 10px;margin-bottom:4px;border-radius:10px;background:rgba(255,255,255,0.015);border:1px solid rgba(255,255,255,0.02);transition:all .15s}
.od-mav{width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;color:#fff;flex-shrink:0;overflow:hidden}
.od-minfo{flex:1;min-width:0;transform:translateY(-2.5px)}
.od-mname{font-size:12px;font-weight:600}
.od-msub{font-size:10px;color:var(--tx3);margin-top:1px}
/* 队伍行等级标识整体缩小（2026-08-03 用户要求）：与身份牌同规格 + 左原点 */
.od-msub span{transform:scale(0.88);transform-origin:left center;display:inline-block}
.od-mtag{font-size:9px;padding:2px 6px;border-radius:4px;font-weight:600;flex-shrink:0}
.od-mtag-captain{background:rgba(124,60,237,0.12);color:#a78bfa}
.od-mtag-ready{background:rgba(0,200,80,0.12);color:var(--green)}
.od-mtag-inviting{background:rgba(255,180,0,0.12);color:#ffb400}
.od-mactions{display:flex;gap:4px;opacity:0;transition:opacity .15s}
.od-member:hover .od-mactions{opacity:1}
.od-mkick{width:24px;height:24px;border-radius:5px;border:1px solid var(--card-border);background:rgba(255,255,255,0.03);color:var(--tx2);cursor:pointer;display:flex;align-items:center;justify-content:center}
.od-mkick:hover svg{stroke:var(--red)}
.od-mkick svg{width:11px;height:11px}
.od-slot{display:flex;align-items:center;gap:8px;padding:8px 10px;margin-bottom:4px;border-radius:10px;border:1px dashed rgba(255,255,255,0.06);background:rgba(255,255,255,0.01);cursor:pointer;min-height:44px}
.od-slot:hover{border-color:rgba(124,60,237,0.2);background:rgba(124,60,237,0.03)}
.od-slot-av{width:28px;height:28px;border-radius:50%;border:1px dashed rgba(255,255,255,0.1);display:flex;align-items:center;justify-content:center;font-size:14px;color:var(--tx3);flex-shrink:0}
.od-slot-text{font-size:11px;color:var(--tx3);flex:1}
.od-slot:hover .od-slot-text{color:#a78bfa}
.od-slot-arrow{font-size:12px;color:var(--tx3);opacity:0.4}
.od-slot:hover .od-slot-arrow{opacity:1;color:#a78bfa}
/* 操作记录(折叠) */
.od-tl-hdr{display:flex;align-items:center;gap:6px;cursor:pointer;padding:4px 0;user-select:none}
.od-tl-hdr .od-ar{font-size:10px;color:var(--tx3);margin-left:auto;transition:transform .2s}
.od-tl-hdr .od-ar.open{transform:rotate(180deg)}
.od-tl-body{padding-top:8px}
.od-tl-body.hide{display:none}
.od-tl-item{display:flex;gap:8px;padding:3px 0;align-items:flex-start;font-size:11px;color:var(--tx2)}
.od-tl-dot{width:5px;height:5px;border-radius:50%;margin-top:5px;flex-shrink:0}
.od-tl-purple{background:var(--accent)}
.od-tl-cyan{background:var(--primary)}
.od-tl-gold{background:#ffb400}
.od-tl-green{background:var(--green)}
.od-tl-red{background:var(--red)}
.od-tl-time{font-size:10px;color:var(--tx3);min-width:48px;font-family:Inter;line-height:1.7}
.od-tl-text{line-height:1.7;flex:1}
.od-tl-who{font-size:10px;color:var(--tx3);min-width:36px;text-align:right;line-height:1.7}
/* 底部操作栏 */
.od-ab{position:fixed;bottom:0;left:0;right:0;padding:10px 16px 12px;background:linear-gradient(0deg,rgba(7,7,14,0.8) 80%,transparent);display:flex;gap:8px;max-width:430px;margin:0 auto;justify-content:center;z-index:100}
.od-btn{height:44px;border-radius:12px;border:none;font-size:13px;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:5px;flex:1;max-width:300px;transition:all .15s;letter-spacing:.3px}
.od-btn:active{transform:scale(.97)}
.od-btn-primary{background:linear-gradient(135deg,var(--accent),var(--primary));color:#fff}
.od-btn-secondary{background:rgba(255,255,255,0.03);border:1px solid rgba(255,255,255,0.08);color:var(--tx2)}
.od-btn-secondary:hover{background:rgba(255,255,255,0.06);border-color:rgba(255,255,255,0.14);color:var(--tx1)}
.od-btn-gold{background:rgba(255,180,0,0.08);border:1px solid rgba(255,180,0,0.12);color:#ffb400}
.od-btn-danger{background:rgba(255,60,60,0.08);border:1px solid rgba(255,60,60,0.12);color:var(--red)}
.od-ab-empty{display:flex;align-items:center;justify-content:center;gap:5px;height:44px;padding:0 20px;border-radius:20px;background:rgba(255,255,255,0.02);color:var(--tx3);font-size:11px;margin:0 auto}
/* PLAN-TRANSFER-TEAM-FULLFIX v1.2 P0-1a：新队长横幅（单人开始提示） */
.od-ab-tip{display:flex;align-items:center;justify-content:center;gap:5px;min-height:36px;padding:6px 14px;border-radius:10px;background:rgba(124,60,237,0.08);border:1px solid rgba(124,60,237,0.15);color:var(--tx2);font-size:11px;margin-bottom:8px;text-align:center}
.od-ab-empty svg{width:12px;height:12px;opacity:0.4;flex-shrink:0}
.os-invited{color:#ff8800!important}
.im-item.selected{border-color:#7c3aed!important;background:rgba(124,60,237,0.08)!important}

/* P1: Skeleton + Empty states */
.skeleton {
  background: linear-gradient(90deg, rgba(255,255,255,0.03) 25%, rgba(255,255,255,0.06) 50%, rgba(255,255,255,0.03) 75%);
  background-size: 200% 100%;
  animation: shimmer 1.5s infinite;
  border-radius: 8px;
}
@keyframes shimmer {
  0% { background-position: 200% 0; }
  100% { background-position: -200% 0; }
}
.sk-card { height: 120px; margin-bottom: 8px; }
.sk-line { height: 14px; margin-bottom: 6px; width: 60%; }
.sk-line-short { width: 40%; }
.empty-state-wrap { text-align: center; padding: 48px 16px; }
.empty-icon { font-size: 48px; margin-bottom: 12px; opacity: 0.2; }
.empty-title { font-size: 14px; color: rgba(255,255,255,0.3); margin-bottom: 16px; }
.empty-btn {
  display: inline-block; padding: 10px 24px; border-radius: 8px;
  background: linear-gradient(135deg, #7c3aed, #00e5ff); border: none;
  color: #fff; font-size: 13px; cursor: pointer;
}

/* Invite member modal */
.im-tab{padding:8px 16px;font-size:12px;font-weight:600;cursor:pointer;color:rgba(255,255,255,0.25);border-bottom:2px solid transparent;transition:0.2s}
.im-tab.active{color:#00e5ff;border-bottom-color:#00e5ff}
.im-card{display:flex;align-items:center;gap:12px;padding:10px 12px;margin-bottom:6px;border-radius:10px;cursor:pointer;transition:0.15s}
.im-card:hover{background:rgba(255,255,255,0.03)}
.im-card.busy{opacity:0.4;cursor:default}
.im-av{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:700;flex-shrink:0}
.im-av-s{background:linear-gradient(135deg,#7c3aed,#00e5ff);color:#fff}
.im-av-a{background:linear-gradient(135deg,#6d28d9,#a78bfa);color:#fff}
.im-av-b{background:rgba(255,255,255,0.08);color:rgba(255,255,255,0.3)}
.im-info{flex:1;min-width:0}
.im-name{font-size:13px;font-weight:600}
.im-meta{font-size:10px;color:rgba(255,255,255,0.3);margin-top:2px}
.im-status{font-size:10px;margin-top:1px}
.im-free{color:#00c850}
.im-busy{color:rgba(255,60,60,0.5)}
.im-rank{font-size:9px;font-weight:700;padding:1px 5px;border-radius:3px;margin-left:6px}
.im-rank-s{background:linear-gradient(135deg,#7c3aed,#00e5ff);color:#fff}
.im-rank-a{background:rgba(124,60,237,0.15);color:#a78bfa}
.im-rank-b{background:rgba(255,255,255,0.04);color:rgba(255,255,255,0.3)}
.im-invite{padding:5px 14px;border-radius:6px;border:none;font-size:11px;font-weight:600;cursor:pointer;background:linear-gradient(135deg,#7c3aed,#00e5ff);color:#fff;flex-shrink:0;transition:0.15s}
.im-invite:hover{opacity:0.85}
.im-invite:disabled{background:rgba(255,255,255,0.04);color:rgba(255,255,255,0.15);cursor:not-allowed}
.im-invite.done{background:rgba(0,200,80,0.15);color:#00c850}

/* P1 fix: avatar overflow +N */
.oc-mav-more{background:rgba(255,255,255,0.06);color:rgba(255,255,255,0.4);font-size:8px;font-weight:700;width:20px;height:20px;border-radius:50%;display:flex;align-items:center;justify-content:center;border:1.5px solid rgba(255,255,255,0.06);flex-shrink:0}
/* P1 fix: invite banner */
.invite-banner{position:fixed;top:-80px;left:0;right:0;z-index:9999;padding:12px 16px;background:linear-gradient(135deg,#7c3aed,#6366f1);color:#fff;font-size:13px;display:flex;align-items:center;justify-content:space-between;box-shadow:0 4px 20px rgba(0,0,0,0.3);transition:top 0.3s ease}
.invite-banner.show{top:0}
.invite-banner-text{flex:1}
.invite-banner-btn{padding:5px 14px;border-radius:6px;border:none;background:rgba(255,255,255,0.2);color:#fff;font-size:12px;cursor:pointer;margin-left:12px;flex-shrink:0}

/* User card in detail page - full width */
/* Detail page user card - dedicated classes, no :first/:last dependencies */
.od-user-mini{display:flex;align-items:center;gap:6px;padding:6px 10px;min-height:40px;background:rgba(255,255,255,0.02);border:1px solid rgba(255,255,255,0.03);border-radius:6px;position:relative;overflow:hidden;width:100%}
.od-user-mini::before{content:'';position:absolute;left:0;top:0;bottom:0;width:26px;z-index:1}
.od-user-mini.od-rc-boss::before{background:rgba(255,180,0,0.12)}
.od-user-mini.od-rc-cap::before{background:rgba(124,60,237,0.15)}
.od-role-col-mini{position:relative;z-index:2;display:flex;flex-direction:column;align-items:center;justify-content:center;width:26px;padding:6px 0;flex-shrink:0;font-size:9px;font-weight:700;line-height:1.3;color:#a78bfa;margin:0 0 0 -10px;text-align:center}
.od-rc-boss-txt{color:#ffb400}
.od-rc-cap-txt{color:#a78bfa}

.od-user-ga{display:flex;align-items:center;gap:6px;padding:6px 10px;border-top:1px solid rgba(255,255,255,0.03);margin-top:4px;font-size:11px;color:var(--tx2)}
.od-user-ga .lbl{color:var(--tx3);font-size:10px;flex-shrink:0}
.od-user-ga .val{color:#fff;font-weight:500}
.od-user-ga .ga-btn{width:28px;height:28px;border-radius:6px;border:none;background:rgba(255,255,255,0.04);cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--tx3);flex-shrink:0}
.od-user-ga .ga-btn:hover{background:rgba(255,255,255,0.08);color:#fff}
.od-user-ga .ga-btn svg{width:14px;height:14px}

/* 移动端禁用 hover 粘滞 */
@media (hover: none) and (pointer: coarse) {
  *:hover { opacity: 1 !important; }
  .pf-avatar:hover::after { display: none !important; }
  .od-acc-copy:hover::after { display: none !important; }
}


/* ═══════════════════════════════════════════
   PC / 宽屏适配 (2026-05-28)


/* ═════════════════════════════════════
   全局返回按钮
   ═════════════════════════════════════ */
.back-btn{background:none;border:none;color:rgba(255,255,255,0.5);font-size:13px;font-weight:500;cursor:pointer;padding:4px 8px;display:flex;align-items:center;gap:4px;flex-shrink:0}
.back-btn svg{width:18px;height:18px}
.back-btn:hover{color:rgba(255,255,255,0.7)}

.popup-close{position:absolute;top:8px;right:8px;width:28px;height:28px;border-radius:50%;border:none;background:rgba(255,255,255,0.1);color:#fff;font-size:14px;cursor:pointer;display:flex;align-items:center;justify-content:center}
.popup-close:hover{background:rgba(255,255,255,0.2)}
@keyframes fadeIn{from{opacity:0}to{opacity:1}}

/* ===== ══════════════════════════════════
   弹窗 v4 设计系统 — 打赏/评分
   2026-06-19
   ══════════════════════════════════════ */

/* 弹窗盒子 */
.modal-v4{background:#0c0c16;border:1px solid rgba(255,255,255,0.05);border-radius:20px;overflow:hidden;box-shadow:0 16px 48px rgba(0,0,0,0.5)}
.modal-v4-hl{height:1px;background:linear-gradient(90deg,transparent 5%,rgba(124,60,237,0.25) 30%,rgba(0,229,255,0.2) 70%,transparent 95%)}
.modal-v4-hd{padding:14px 20px 6px;text-align:center}

/* 徽章 */
.m4-bdg{width:30px;height:30px;border-radius:9px;display:flex;align-items:center;justify-content:center;margin:0 auto 6px;position:relative}
.m4-bdg svg{width:14px;height:14px}
.m4-bdg::after{content:'';position:absolute;inset:-2px;border-radius:11px;background:inherit;filter:blur(6px);opacity:0.2;z-index:-1}
.m4-bdg.gold{background:linear-gradient(135deg,rgba(245,158,11,0.18),rgba(245,158,11,0.04));border:1px solid rgba(245,158,11,0.1)}
.m4-bdg.gold svg{color:#f59e0b}
.m4-bdg.purple{background:linear-gradient(135deg,rgba(124,60,237,0.2),rgba(0,229,255,0.06));border:1px solid rgba(124,60,237,0.12)}
.m4-bdg.purple svg{color:#a78bfa}

.m4-tt{font-size:14px;font-weight:700;color:rgba(255,255,255,0.9)}
.m4-st{font-size:10px;color:rgba(255,255,255,0.2);margin-top:1px;font-weight:400}

/* 内容 */
.m4-bd{padding:0 18px 12px;display:flex;flex-direction:column;gap:8px}

/* 用户卡 */
/* 用户卡 */
.m4-uc{display:flex;align-items:center;gap:6px;padding:6px 8px;background:rgba(255,255,255,0.02);border:1px solid rgba(255,255,255,0.035);border-radius:8px}
.m4-uc .av{width:26px;height:26px;border-radius:50%;flex-shrink:0;background:linear-gradient(135deg,#7c3aed,#00e5ff);display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;color:#fff}
.m4-uc .n{font-size:12px;font-weight:600;color:rgba(255,255,255,0.85)}
.m4-uc .s{font-size:9px;color:rgba(255,255,255,0.25);margin-top:1px}
.m4-uc .tag{font-size:8px;font-weight:700;padding:1px 6px;border-radius:4px;letter-spacing:0.4px;background:linear-gradient(135deg,rgba(124,60,237,0.12),rgba(0,229,255,0.06));color:#a78bfa;border:1px solid rgba(124,60,237,0.08)}

/* 星级 */
.m4-sr{display:flex;justify-content:center;gap:2px;padding:2px 0 0}
.m4-sr .s{font-size:20px;cursor:pointer;color:rgba(255,255,255,0.06);transition:transform .15s,color .15s;user-select:none;line-height:1}
.m4-sr .s.on{color:#f59e0b}
.m4-sr .s:hover{transform:scale(1.12)}
.m4-sl{text-align:center;font-size:10px;color:rgba(255,255,255,0.2);min-height:14px}

/* 评语 */
.m4-cmt{width:100%;padding:6px 8px;height:38px;background:rgba(255,255,255,0.015);border:1px solid rgba(255,255,255,0.04);border-radius:8px;color:#fff;font-size:11px;outline:none;resize:none;font-family:inherit;transition:border-color .2s;box-sizing:border-box}
.m4-cmt:focus{border-color:rgba(124,60,237,0.2)}
.m4-cmt::placeholder{color:rgba(255,255,255,0.12);font-size:11px}

/* 金额网格 */
.m4-ag{display:grid;grid-template-columns:1fr 1fr;gap:6px}
.m4-ag .i{padding:8px 6px;border-radius:8px;background:rgba(255,255,255,0.015);border:1px solid rgba(255,255,255,0.03);text-align:center;cursor:pointer;transition:all .15s}
.m4-ag .i .v{font-size:13px;font-weight:700;color:rgba(255,255,255,0.4);font-family:Inter}
.m4-ag .i .d{font-size:8px;color:rgba(255,255,255,0.1);margin-top:0}
.m4-ag .i:hover{border-color:rgba(124,60,237,0.15);background:rgba(124,60,237,0.03)}
.m4-ag .i:hover .v{color:#a78bfa}
.m4-ag .i.sel{border-color:rgba(124,60,237,0.22);background:rgba(124,60,237,0.07);box-shadow:0 0 8px rgba(124,60,237,0.06)}
.m4-ag .i.sel .v{background:linear-gradient(135deg,#7c3aed,#00e5ff);-webkit-background-clip:text;-webkit-text-fill-color:transparent}

/* 金额输入 */
.m4-ci{display:flex;align-items:center;gap:6px}
.m4-ci .p{font-size:14px;font-weight:300;color:rgba(255,255,255,0.1);font-family:Inter}
.m4-ci input{flex:1;padding:6px 8px;background:rgba(255,255,255,0.015);border:1px solid rgba(255,255,255,0.05);border-radius:8px;color:#fff;font-size:13px;font-weight:600;outline:none;text-align:center;font-family:Inter;transition:border-color .2s;box-sizing:border-box}
.m4-ci input:focus{border-color:rgba(124,60,237,0.25)}
.m4-ci input::placeholder{color:rgba(255,255,255,0.08);font-weight:400;font-size:11px}

/* 汇总条 */
.m4-sm{display:flex;justify-content:space-between;align-items:center;padding:6px 10px;background:rgba(255,255,255,0.015);border:1px solid rgba(255,255,255,0.03);border-radius:8px}
.m4-sm .l{font-size:10px;color:rgba(255,255,255,0.25)}
.m4-sm .v{font-size:15px;font-weight:800;font-family:Inter;background:linear-gradient(135deg,#7c3aed,#00e5ff);-webkit-background-clip:text;-webkit-text-fill-color:transparent}

/* 分段标题 */
.m4-sep{font-size:9px;font-weight:600;color:rgba(255,255,255,0.12);letter-spacing:0.6px;text-transform:uppercase;display:flex;align-items:center;gap:6px}
.m4-sep::after{content:'';flex:1;height:1px;background:linear-gradient(90deg,rgba(255,255,255,0.04) 0%,transparent 100%)}

/* 团队评分列表 */
.m4-tl{display:flex;flex-direction:column;gap:4px}
.m4-tl .r{display:flex;align-items:center;gap:5px;padding:5px 7px;background:rgba(255,255,255,0.015);border:1px solid rgba(255,255,255,0.025);border-radius:7px}
.m4-tl .r .av{width:22px;height:22px;border-radius:50%;flex-shrink:0;background:linear-gradient(135deg,#7c3aed,#00e5ff);display:flex;align-items:center;justify-content:center;font-size:8px;font-weight:700;color:#fff}
.m4-tl .r .nm{font-size:11px;font-weight:600}
.m4-tl .r .rt{font-size:8px;color:rgba(255,255,255,0.2);margin-top:0}
.m4-tl .r .tag{font-size:7px;font-weight:600;padding:1px 4px;border-radius:3px;margin-right:2px}
.m4-tl .r .tag.c{background:rgba(124,60,237,0.1);color:#a78bfa}
.m4-tl .r .tag.m{background:rgba(0,200,80,0.08);color:#22c55e}
.m4-tl .r .ss{display:flex;gap:1px}
.m4-tl .r .ss .p{font-size:12px;cursor:pointer;color:rgba(255,255,255,0.06);transition:all .12s;user-select:none;line-height:1}
.m4-tl .r .ss .p.on{color:#f59e0b}
.m4-tl .r .ss .p:hover{transform:scale(1.15)}

/* 团队打赏下拉 */
.m4-tsel{position:relative}
.m4-tsel select{width:100%;padding:8px 10px;background:rgba(255,255,255,0.02);border:1px solid rgba(255,255,255,0.05);border-radius:8px;color:rgba(255,255,255,0.7);font-size:12px;font-weight:500;outline:none;cursor:pointer;font-family:inherit;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%23ffffff33' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;background-size:14px;transition:border-color .2s}
.m4-tsel select option{background:#0c0c16;color:rgba(255,255,255,0.7);padding:6px}

/* 底部按钮 */
.m4-mf{display:flex;gap:8px}
.m4-mf button{flex:1;padding:10px;border-radius:10px;border:none;font-size:12px;font-weight:600;cursor:pointer;transition:all .12s;letter-spacing:0.2px}
.m4-mf button:active{transform:scale(.97)}
.m4-mf .p{background:linear-gradient(135deg,#7c3aed,#00e5ff);color:#fff;box-shadow:0 4px 16px rgba(124,60,237,0.2)}
.m4-mf .p:hover{opacity:.92}
.m4-mf .s{background:transparent;border:1px solid rgba(255,255,255,0.06);color:rgba(255,255,255,0.4)}
.m4-mf .s:hover{background:rgba(255,255,255,0.03);color:rgba(255,255,255,0.6)}

/* ===== ══════════════════════════════════
   抢单页 vC — 信息流式卡片
   2026-06-19
   ══════════════════════════════════════ */
.pool-vc-filter{background:rgba(7,7,14,0.92);border:1px solid var(--card-border);border-radius:0;padding:16px;max-width:430px;margin:0 auto 10px}
.pool-vc-card{background:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--radius-card);margin:0 12px 10px;overflow:hidden}
.pvc-boss{display:flex;align-items:center;gap:10px;padding:14px 16px 8px}
.pvc-boss-av{width:32px;height:32px;border-radius:50%;flex-shrink:0;background:linear-gradient(135deg,#7c3aed,#00e5ff);display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;color:#fff}
.pvc-boss-i{flex:1;min-width:0;transform:translateY(-2.5px)}
.pvc-boss-n{font-size:13px;font-weight:600;color:var(--tx1)}
.pvc-boss-n .aux{font-size:10px;color:var(--tx3);font-weight:400}
.pvc-boss-m{font-size:11px;color:var(--tx3);margin-top:1px}
/* 抢单池等级标识缩小 + 左原点（2026-08-03 用户要求：与详情页同规格，左边框对齐名字） */
.pvc-boss-m span{transform:scale(0.88);transform-origin:left center;display:inline-block}
.pvc-boss-tag{font-size:9px;padding:2px 8px;border-radius:5px;background:rgba(255,180,0,0.08);color:#ffb400;border:1px solid rgba(255,180,0,0.1);font-weight:600}

/* 类型标签（替换老客户） */
.pvc-type{font-size:9px;font-weight:700;padding:2px 10px;border-radius:5px;letter-spacing:0.5px;flex-shrink:0}
.pvc-type-p{background:rgba(0,229,255,0.08);color:#00e5ff;border:1px solid rgba(0,229,255,0.1)}
.pvc-type-d{background:rgba(124,60,237,0.12);color:#a78bfa;border:1px solid rgba(124,60,237,0.12)}

/* mode-badge（单人/车队） */
.pvc-mode{font-size:9px;font-weight:600;padding:1px 7px;border-radius:4px;flex-shrink:0}
.pvc-mode.s{background:rgba(0,229,255,0.08);color:#00e5ff}
.pvc-mode.t{background:rgba(124,60,237,0.1);color:#a78bfa}

.pvc-hdr{display:flex;align-items:center;gap:6px;margin-bottom:6px;flex-wrap:wrap;padding:0 16px}
.pvc-game{font-size:12px;color:var(--primary);font-weight:600;flex-shrink:0;margin-right:2px}
.pvc-badge{font-size:10px;font-weight:600;padding:1px 8px;border-radius:4px}
.pvc-badge.g{background:rgba(0,229,255,0.08);color:var(--primary)}
.pvc-badge.p{background:rgba(124,60,237,0.12);color:#a78bfa}

.pvc-time{font-size:10px;color:var(--tx3);margin-left:auto;font-family:Inter}

/* 标题 — 补 padding 对齐 */
.pvc-ttl{font-size:15px;font-weight:600;line-height:1.4;color:var(--tx1);padding:0 16px;margin-bottom:6px}
.pvc-time{font-size:10px;color:var(--tx3);margin-left:auto;font-family:Inter}
.pvc-tags{display:flex;gap:4px;flex-wrap:wrap;padding:0 16px 8px}
.pvc-tag{font-size:10px;font-weight:500;padding:2px 8px;border-radius:4px;background:rgba(255,255,255,0.03);border:1px solid rgba(255,255,255,0.05);color:var(--tx2)}
.pvc-btm{display:flex;justify-content:space-between;align-items:center;padding:10px 16px;border-top:1px solid rgba(255,255,255,0.03)}
.pvc-price{font-size:12px;color:var(--tx3)}
.pvc-price strong{font-size:18px;font-weight:800;color:var(--primary);font-family:Inter}
.pvc-grab{padding:8px 22px;border-radius:var(--radius-btn);background:linear-gradient(135deg,var(--accent),var(--primary));border:none;color:#fff;font-size:13px;font-weight:700;cursor:pointer;transition:opacity .15s}
.pvc-grab:hover{opacity:.85}
.pvc-grab:disabled{opacity:.5;cursor:default}
.pvc-assigned{display:inline-flex;align-items:center;padding:8px 22px;border-radius:var(--radius-btn);background:rgba(99,102,241,0.12);color:#818cf8;font-size:13px;font-weight:600}

/* ===== 下单弹窗 B最终 ===== */
.order-modal-b{padding:40px 24px 20px}
.omb-hdr{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:8px}
.omb-hl{flex:1;min-width:0}
.omb-game{font-size:13px;color:var(--primary);font-weight:600;margin-bottom:3px}
.omb-title{font-size:16px;font-weight:600;color:var(--tx1);line-height:1.5;word-break:break-word}
.omb-hr{display:flex;flex-direction:column;align-items:flex-end;justify-content:flex-end;text-align:right;flex-shrink:0;margin-left:16px;gap:4px}
.omb-price{font-size:26px;font-weight:800;font-family:Inter;color:var(--primary);letter-spacing:-0.5px;line-height:1}
.omb-discount{font-size:10px;font-weight:700;padding:1px 6px;border-radius:4px;background:rgba(0,229,255,0.15);color:#00e5ff;border:1px solid rgba(0,229,255,0.25);display:inline-block}
.gd-discount{font-size:10px;font-weight:700;padding:1px 6px;border-radius:4px;background:rgba(0,229,255,0.15);color:#00e5ff;border:1px solid rgba(0,229,255,0.25);margin-left:6px;vertical-align:middle}
.omb-sep{height:1px;background:rgba(255,255,255,0.03);margin:0 0 14px}
/* ===== 下单弹窗 账号选择行（PLAN-029） ===== */
.omb-acc-row{display:flex;align-items:center;gap:8px;margin:0 0 12px}
.omb-acc-label{font-size:11px;color:rgba(255,255,255,0.35);flex-shrink:0;white-space:nowrap}
.omb-acc-select{
  flex:1;min-width:0;padding:9px 30px 9px 12px;
  background:rgba(255,255,255,0.03);
  border:1px solid rgba(255,255,255,0.06);border-radius:8px;
  color:#fff;font-size:12px;font-weight:500;outline:none;cursor:pointer;font-family:inherit;
  -webkit-appearance:none;-moz-appearance:none;appearance:none;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%23ffffff33' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 10px center;background-size:14px;
}
.omb-acc-select:disabled{opacity:.45;cursor:not-allowed}
.omb-acc-set{
  flex-shrink:0;display:inline-flex;align-items:center;gap:4px;
  padding:8px 10px;border-radius:8px;border:1px solid rgba(124,60,237,0.2);
  background:rgba(124,60,237,0.06);color:var(--primary);
  font-size:11px;font-weight:500;cursor:pointer;transition:all .12s;white-space:nowrap;
}
.omb-acc-set svg{width:12px;height:12px;flex-shrink:0}
.omb-acc-set:active{transform:scale(.97)}
.omb-acc-set.hl{background:rgba(124,60,237,0.12);border-color:rgba(124,60,237,0.35)}
.omb-rem textarea{width:100%;padding:10px 14px;height:48px;background:rgba(255,255,255,0.015);border:1px solid rgba(255,255,255,0.04);border-radius:10px;color:#fff;font-size:12px;outline:none;resize:none;font-family:inherit;transition:border-color .2s;box-sizing:border-box;line-height:1.5}
.omb-rem textarea:focus{border-color:rgba(124,60,237,0.25)}
.omb-rem textarea::placeholder{color:rgba(255,255,255,0.1)}
.omb-btns{display:flex;gap:10px;margin-top:16px}
.omb-btn{flex:1;padding:13px;border-radius:12px;border:none;font-size:13px;font-weight:600;cursor:pointer;transition:all .12s;letter-spacing:0.3px}
.omb-btn:active{transform:scale(.97)}
.omb-btn-p{background:linear-gradient(135deg,var(--accent),var(--primary));color:#fff;box-shadow:0 4px 16px rgba(124,60,237,0.2)}
.omb-btn-p:hover{opacity:.92}
.omb-btn-d{background:rgba(124,60,237,0.08);border:1px solid rgba(124,60,237,0.12);color:#a78bfa}
/* PLAN-121: 取消按钮（灰弱化 + hover 提示可点）*/
.omb-btn-c{background:rgba(255,255,255,0.03);border:1px solid rgba(255,255,255,0.06);color:rgba(255,255,255,0.3)}
.omb-btn-c:hover{background:rgba(255,255,255,0.06);color:rgba(255,255,255,0.5)}

/* ===== 抢单卡片备注 ===== */
.pvc-remark{font-size:10px;color:rgba(255,255,255,0.35);padding:5px 10px;margin:0 16px 6px;background:rgba(0,229,255,0.04);border-radius:6px;display:flex;align-items:center;gap:4px}
.pvc-remark svg{width:10px;height:10px;flex-shrink:0;opacity:0.3}

/* ===== 指定打手弹窗（V1精修）===== */
.pick-hdr{display:flex;align-items:center;padding:16px 20px 10px;border-bottom:1px solid rgba(255,255,255,0.04)}
.pick-hdr .t{font-size:16px;font-weight:700;flex:1;color:var(--tx1)}
.pick-hdr .c{width:22px;height:22px;border-radius:50%;border:none;background:rgba(255,255,255,0.04);color:var(--tx3);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:10px;margin-left:8px}

.pick-tabs{display:flex;padding:8px 20px 0;gap:2px;border-bottom:1px solid rgba(255,255,255,0.04)}
.pick-tab{padding:6px 14px;font-size:11px;font-weight:600;cursor:pointer;color:var(--tx3);border-bottom:2px solid transparent;transition:all .12s}
.pick-tab.active{color:var(--primary);border-bottom-color:var(--primary)}
.pick-tab .c{font-size:9px;color:var(--tx3);font-weight:400;margin-left:2px}

.pick-chips{display:flex;gap:4px;padding:8px 20px 0;flex-wrap:wrap}
.pick-chip{padding:3px 10px;border-radius:12px;font-size:9px;cursor:pointer;background:rgba(255,255,255,0.02);border:1px solid rgba(255,255,255,0.04);color:var(--tx3);transition:all .12s}
.pick-chip.on{background:rgba(0,229,255,0.04);border-color:rgba(0,229,255,0.1);color:var(--primary)}

.pick-srch{padding:10px 20px;position:relative}
.pick-srch input{width:100%;padding:7px 12px 7px 30px;border-radius:7px;border:1px solid var(--card-border);background:rgba(255,255,255,0.02);color:#fff;font-size:11px;outline:none;box-sizing:border-box}
.pick-srch input:focus{border-color:rgba(124,60,237,0.2)}
.pick-srch input::placeholder{color:var(--tx3)}
.pick-srch svg{position:absolute;left:30px;top:50%;transform:translateY(-50%);width:12px;height:12px;color:var(--tx3)}


.pick-item{display:flex;align-items:center;gap:10px;padding:10px 10px;border-radius:10px;cursor:pointer;transition:all .1s;margin-bottom:2px}
.pick-item:hover{background:rgba(255,255,255,0.02)}
.pick-item.sel{background:rgba(124,60,237,0.04);border:1px solid rgba(124,60,237,0.1);margin:-1px;margin-bottom:1px}

.pick-item .av{width:36px;height:36px;border-radius:50%;flex-shrink:0;background:linear-gradient(135deg,var(--accent),var(--primary));display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:700;color:#fff;position:relative}
.pick-item .av .dot{position:absolute;bottom:-1px;right:-1px;width:10px;height:10px;border-radius:50%;border:2px solid #0c0c16}
.pick-item .av .dot.on{background:var(--green);box-shadow:0 0 4px rgba(34,197,94,0.3)}
.pick-item .av .dot.off{background:rgba(255,255,255,0.15);border-color:rgba(255,255,255,0.15)}

.pick-item .i{flex:1;min-width:0}
.pick-item .n{font-size:13px;font-weight:600;color:var(--tx1);display:flex;align-items:center;gap:4px;margin-bottom:2px;flex-wrap:wrap}
.pick-item .st{display:flex;align-items:center;gap:4px;margin-bottom:2px}
.pick-item .st .sr{font-size:12px;color:rgba(255,255,255,0.04);letter-spacing:0.5px}
.pick-item .st .sr .on{color:var(--gold)}
.pick-item .st .sr .n{font-size:9px;color:var(--tx3);margin-left:2px;letter-spacing:0;font-weight:400}

.pick-item .dt{display:flex;gap:10px;font-size:9px;color:var(--tx3)}
.pick-item .dt .h{color:rgba(255,255,255,0.25)}
.pick-item .dt .hl{color:var(--primary);font-weight:600}

.pick-item .fav{width:24px;height:24px;border-radius:50%;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;background:rgba(255,255,255,0.04);color:rgba(255,255,255,0.25);flex-shrink:0}
.pick-item .fav:hover{background:rgba(255,255,255,0.08);color:rgba(255,255,255,0.5)}
.pick-item .fav.f{background:rgba(245,158,11,0.12);color:var(--gold)}
.pick-item .fav svg{width:12px;height:12px}

.pick-item .act{padding:6px 18px;border-radius:var(--radius-btn);border:none;font-size:11px;font-weight:600;cursor:pointer;flex-shrink:0;background:linear-gradient(135deg,var(--accent),var(--primary));color:#fff}
.pick-item .act:hover{opacity:.88}

.pick-ft{padding:8px 20px 12px;border-top:1px solid rgba(255,255,255,0.04);display:flex;justify-content:space-between;align-items:center;font-size:9px;color:var(--tx3)}
.pick-ft .cnt{color:var(--primary);font-weight:600}

/* 等级标签 */
.pick-tg{font-size:8px;font-weight:700;padding:1px 6px;border-radius:4px;line-height:1.3}
.pick-tg.s{background:linear-gradient(135deg,rgba(124,60,237,0.15),rgba(0,229,255,0.06));color:#a78bfa;border:1px solid rgba(124,60,237,0.08)}
.pick-tg.a{background:rgba(0,229,255,0.08);color:var(--primary);border:1px solid rgba(0,229,255,0.1)}
.pick-tg.b{background:rgba(255,255,255,0.03);color:var(--tx2);border:1px solid rgba(255,255,255,0.05)}
.pick-tg.c{background:rgba(255,255,255,0.02);color:var(--tx3);border:1px solid rgba(255,255,255,0.03)}

/* ═══ 参与人员卡（PLAN 2026-08-06，替代 odUserCard/odTeamCard）═══ */
.od-pp-hd{display:flex;align-items:center;gap:6px;font-size:11px;font-weight:600;color:var(--tx2);margin-bottom:10px}
.od-pp-hd svg{width:13px;height:13px;flex-shrink:0}
.od-pp-cnt{margin-left:auto;font-size:10px;color:var(--tx3);font-weight:400}
.od-entry{display:flex;align-items:center;gap:10px;padding:10px 12px 10px 16px;border-radius:10px;position:relative}
.od-entry + .od-entry{margin-top:6px}
.od-entry-boss{background:rgba(255,180,0,.05);border:1px solid rgba(255,180,0,.10)}
.od-entry-player{background:rgba(255,255,255,.015);border:1px solid rgba(255,255,255,.03)}
.od-pav{width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:700;color:#fff;overflow:hidden;cursor:pointer;flex-shrink:0}
.od-pinfo{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px;transform:translateY(2px)}
.od-ptag{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.od-plv{font-size:8px;font-weight:600;padding:0 5px;border-radius:4px;color:#fff;line-height:15px;display:inline-block;vertical-align:middle}
.od-prole{font-size:9px;font-weight:700;padding:1px 6px;border-radius:3px;flex-shrink:0;letter-spacing:.5px}
.od-prole-boss{background:rgba(255,180,0,.14);color:#ffb400}
.od-prole-captain{background:rgba(124,60,237,.16);color:#a78bfa}
.od-prole-member{background:rgba(0,229,255,.12);color:var(--cyan)}
.od-pname{font-size:13px;font-weight:600;color:#fff;line-height:1.35;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer}
.od-pme{font-size:10px;color:var(--tx3);font-weight:400}
.od-puid{font-size:9px;color:var(--tx3);font-family:Menlo,Consolas,monospace}
.od-pright{display:flex;flex-direction:column;align-items:flex-end;gap:4px;flex-shrink:0;transform:translateY(2px)}
.od-pst{display:inline-flex;align-items:center;justify-content:center;width:80px;height:26px;line-height:1;font-size:10px;font-weight:600;white-space:nowrap;flex-shrink:0}
.od-pst-ready{color:var(--green)}
.od-pst-inviting{color:var(--gold)}
.od-pkick{position:absolute;top:6px;right:6px;width:20px;height:20px;border-radius:50%;background:rgba(255,60,60,.10);color:#ff6b6b;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;font-size:13px;line-height:1;font-weight:600;opacity:.85;transition:opacity .15s,background .15s;flex-shrink:0;z-index:2}
.od-pkick:hover{opacity:1;background:rgba(255,60,60,.18)}
.od-pga{display:inline-flex;align-items:center;justify-content:center;gap:4px;width:80px;height:26px;line-height:1;padding:0 10px;border-radius:6px;border:1px solid rgba(124,60,237,.15);background:rgba(124,60,237,.06);color:var(--cyan);font-size:10px;cursor:pointer;white-space:nowrap;flex-shrink:0;transform:translateY(2px)}
.od-pga svg{width:11px;height:11px;flex-shrink:0}
.od-pslot{display:flex;align-items:center;gap:10px;padding:8px 12px 8px 16px;border:1px dashed rgba(255,255,255,.10);border-radius:10px;margin-top:6px;color:var(--tx3);font-size:12px;background:rgba(255,255,255,.01);cursor:pointer;transition:border-color .15s,background .15s}
.od-pslot:hover{border-color:rgba(124,60,237,.25);background:rgba(124,60,237,.03)}
.od-pslot-disabled{opacity:.5;cursor:default}
.od-pslot-disabled:hover{border-color:rgba(255,255,255,.10);background:rgba(255,255,255,.01)}
.od-pslot-plus{width:40px;height:40px;border-radius:50%;border:1px dashed rgba(255,255,255,.12);display:flex;align-items:center;justify-content:center;font-size:18px;color:var(--tx4);flex-shrink:0}
.od-pslot-wait{flex:1}
.od-pslot-wait .wt{font-size:12px;color:var(--tx3)}
.od-pslot-wait .wh{font-size:9px;color:var(--tx4);margin-top:1px}
.od-pslot-arrow{font-size:14px;color:var(--tx4)}
/* PLAN team-order-interaction-fix v1.0（2026-08-06）：满员/风控 pending 灰态覆盖（保留 L626 灰底） */
.od-btn-disabled{opacity:.45}
/* 灰态按钮禁止点击反馈（:active 缩放 / :hover 变亮），点击不再「亮一下」 */
.od-btn-disabled,
.od-btn-disabled:hover,
.od-btn-disabled:active{transform:none;background:rgba(255,255,255,0.04);border-color:rgba(255,255,255,0.08);color:rgba(255,255,255,0.25);box-shadow:none;cursor:not-allowed}
