﻿:root{--green:#10B981;--bg:#EDEDED;--nav:#F7F7F7;--card:#FFFFFF;--txt:#1a1a1a;--muted:#8a8a8a}
*{margin:0;padding:0;box-sizing:border-box;-webkit-tap-highlight-color:transparent}
html,body{height:100%;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif;background:var(--bg);color:var(--txt);font-size:16px}
a{color:var(--green);text-decoration:none}
input,button,textarea{font:inherit;outline:none;border:none}
button{cursor:pointer}
/* 登录/注册页 */
.auth-wrap{min-height:100%;display:flex;flex-direction:column;background:linear-gradient(180deg,#10B98122,transparent 40%),var(--bg);padding:0 24px}
.auth-brand{padding:64px 0 24px;text-align:center}
.auth-brand .logo{width:72px;height:72px;border-radius:16px;background:var(--green);color:#fff;font-size:34px;display:inline-flex;align-items:center;justify-content:center;font-weight:700}
.auth-brand h1{font-size:20px;margin-top:12px;font-weight:600}
.auth-brand p{font-size:12px;color:var(--muted);margin-top:4px}
.auth-tabs{display:flex;background:#fff;border-radius:10px;padding:4px;margin-bottom:16px}
.auth-tabs button{flex:1;padding:10px 0;border-radius:8px;background:transparent;color:var(--muted);font-size:15px}
.auth-tabs button.active{background:var(--green);color:#fff;font-weight:600}
.field{background:#fff;border-radius:10px;padding:14px 16px;margin-bottom:12px}
.field input{width:100%;background:transparent;font-size:16px}
.field+ .field{margin-top:0}
.agree{display:flex;align-items:flex-start;gap:8px;font-size:12px;color:var(--muted);margin:8px 2px 16px}
.agree input{width:16px;height:16px;margin-top:2px;accent-color:var(--green)}
.btn-primary{width:100%;padding:14px;border-radius:10px;background:var(--green);color:#fff;font-size:16px;font-weight:600}
.btn-primary:disabled{opacity:.5}
.auth-err{color:#e11d48;font-size:13px;min-height:18px;margin:4px 2px 0}
/* onboarding */
.onb-wrap{min-height:100%;display:flex;flex-direction:column;background:var(--bg);padding:0 20px 32px}
.onb-head{padding:56px 4px 8px}
.onb-head h1{font-size:22px;font-weight:600}
.onb-head p{font-size:13px;color:var(--muted);margin-top:6px}
.chips{display:flex;flex-wrap:wrap;gap:10px;margin:20px 0}
.chip{padding:10px 18px;border-radius:999px;background:#fff;border:1.5px solid #e5e7eb;font-size:15px;color:var(--txt)}
.chip.on{background:var(--green);border-color:var(--green);color:#fff;font-weight:600}
.demand-card{background:#fff;border-radius:12px;padding:14px;margin-top:8px}
.demand-card textarea{width:100%;min-height:72px;resize:none;background:transparent;font-size:15px}
.demand-bar{display:flex;align-items:center;gap:10px;margin-top:8px;border-top:1px solid #f0f0f0;padding-top:10px}
.demand-bar .voice{width:38px;height:38px;border-radius:50%;background:#f3f4f6;display:flex;align-items:center;justify-content:center;font-size:18px}
.demand-bar .hint{font-size:12px;color:var(--muted)}
.onb-foot{margin-top:auto;padding-top:28px}
.skip{display:block;text-align:center;margin-top:14px;font-size:13px;color:var(--muted);background:none;width:100%}
/* app 主界面 */
.app-shell{display:flex;flex-direction:column;height:100vh;height:100dvh}
.app-body{flex:1;overflow-y:auto;background:var(--bg);padding:16px}
.page{display:none}
.page.active{display:block}
.placeholder{background:#fff;border-radius:12px;padding:28px 20px;text-align:center;color:var(--muted);font-size:14px;line-height:1.9}
.placeholder .ic{font-size:40px;display:block;margin-bottom:8px}
.tabbar{display:flex;background:var(--nav);border-top:1px solid #e5e5e5;padding-bottom:env(safe-area-inset-bottom)}
.tabbar button{flex:1;background:transparent;display:flex;flex-direction:column;align-items:center;gap:2px;padding:8px 0 6px;color:#7a7a7a;font-size:11px}
.tabbar button .ico{font-size:22px;line-height:1}
.tabbar button.active{color:var(--green)}
.navbar{background:var(--nav);padding:14px 16px;border-bottom:1px solid #e5e5e5;font-size:17px;font-weight:600;text-align:center}


/* ── 批2：四Tab内容样式 ── */
/* 通用列表项 */
.list-item{display:flex;align-items:center;gap:12px;padding:14px 0;border-bottom:1px solid #f0f0f0;cursor:pointer}
.list-item:last-child{border-bottom:none}
.avatar{width:44px;height:44px;border-radius:8px;display:flex;align-items:center;justify-content:center;color:#fff;font-size:18px;font-weight:600;flex:none}
.item-body{flex:1;min-width:0}
.item-title{font-size:15px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.item-sub{font-size:13px;color:var(--muted);margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.item-right{text-align:right;flex:none}
.item-time{font-size:12px;color:var(--muted)}
.item-badge{display:inline-block;min-width:18px;height:18px;border-radius:9px;background:#f43530;color:#fff;font-size:11px;line-height:18px;text-align:center;padding:0 5px;margin-top:4px}
/* 分组标题 */
.group-title{padding:10px 0 4px;font-size:12px;color:var(--muted);font-weight:500}
/* 标签 */
.tag{display:inline-block;padding:1px 6px;border-radius:4px;font-size:11px;margin-left:4px}
.tag-S{background:#fff1f0;color:#cf1322}
.tag-A{background:#fff7e6;color:#d48806}
.tag-B{background:#f6ffed;color:#389e0d}
.tag-C{background:#e6f7ff;color:#0958d9}
.tag-M{background:#f9f0ff;color:#531dab}
.tag-E{background:#f5f5f5;color:#666}
/* 搜索框 */
.search-bar{padding:10px 0}
.search-bar input{width:100%;padding:10px 14px;border-radius:8px;background:#fff;font-size:15px;border:1px solid #e5e7eb}
/* 聊天气泡 */
.chat-wrap{display:flex;flex-direction:column;height:100%}
.chat-messages{flex:1;overflow-y:auto;padding:12px 0}
.chat-bubble{max-width:72%;padding:10px 14px;border-radius:12px;margin-bottom:10px;font-size:15px;line-height:1.5;word-break:break-all}
.chat-bubble.sender{background:#fff;align-self:flex-start;border-top-left-radius:4px}
.chat-bubble.receiver{background:var(--green);color:#fff;align-self:flex-end;border-top-right-radius:4px}
.chat-input-bar{display:flex;gap:8px;padding:10px 0;border-top:1px solid #f0f0f0;background:var(--bg)}
.chat-input-bar input{flex:1;padding:10px 14px;border-radius:8px;background:#fff;font-size:15px;border:1px solid #e5e7eb}
.chat-input-bar button{padding:10px 18px;border-radius:8px;background:var(--green);color:#fff;font-size:15px;font-weight:500}
.chat-input-bar button:disabled{opacity:.5}
/* 返回按钮 */
.back-btn{background:none;border:none;font-size:16px;color:var(--green);padding:4px 8px;margin-bottom:8px}
/* 空态 */
.empty-tip{text-align:center;color:var(--muted);font-size:14px;padding:40px 0}
/* 发现页卡片 */
.discover-card{background:#fff;border-radius:12px;padding:16px;margin-bottom:12px;cursor:pointer}
.discover-card .card-title{font-size:16px;font-weight:600;margin-bottom:6px}
.discover-card .card-desc{font-size:13px;color:var(--muted)}
.discover-card .card-badge{display:inline-block;padding:2px 8px;border-radius:4px;background:var(--green);color:#fff;font-size:11px;margin-left:6px}
/* 我Tab 菜单 */
.menu-list{background:#fff;border-radius:12px;overflow:hidden;margin-bottom:16px}
.menu-item{display:flex;align-items:center;gap:12px;padding:14px 16px;border-bottom:1px solid #f0f0f0;cursor:pointer;font-size:15px}
.menu-item:last-child{border-bottom:none}
.menu-item .menu-icon{font-size:20px;width:28px;text-align:center}
.menu-item .menu-arrow{margin-left:auto;color:#ccc;font-size:14px}
/* 兑换弹层 */
.modal-mask{position:fixed;inset:0;background:rgba(0,0,0,.45);display:none;z-index:50}
.modal-mask.open{display:block}
.modal-sheet{position:fixed;left:0;right:0;bottom:0;background:#fff;border-radius:14px 14px 0 0;display:none;flex-direction:column;z-index:51;max-height:70vh}
.modal-sheet.open{display:flex}
.modal-head{display:flex;align-items:center;justify-content:space-between;padding:16px;border-bottom:1px solid #f0f0f0}
.modal-head h2{font-size:16px;font-weight:600}
.modal-close{background:#f3f4f6;border-radius:50%;width:30px;height:30px;font-size:16px;color:#555;flex:none;border:none;cursor:pointer}
.modal-body{flex:1;overflow-y:auto;padding:16px}
/* 流水列表 */
.tx-item{display:flex;justify-content:space-between;padding:10px 0;border-bottom:1px solid #f5f5f5;font-size:14px}
.tx-item:last-child{border-bottom:none}
.tx-amount{font-weight:600}
.tx-amount.pos{color:var(--green)}
.tx-amount.neg{color:#e11d48}
/* 加载中 */
.loading{text-align:center;padding:20px;color:var(--muted);font-size:14px}
/* 表单 */
.form-group{margin-bottom:14px}
.form-group label{display:block;font-size:13px;color:var(--muted);margin-bottom:4px}
.form-group input,.form-group textarea,.form-group select{width:100%;padding:10px 14px;border-radius:8px;background:#f7f7f7;font-size:15px;border:1px solid #e5e7eb}
.form-group textarea{min-height:72px;resize:vertical}
/* toast */
.toast{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);background:rgba(0,0,0,.75);color:#fff;padding:12px 24px;border-radius:8px;font-size:15px;z-index:100;display:none}
.toast.show{display:block}

/* ═══ D0批：图标 + 通讯录 + 聊天三段栏 + 服务消息 + 发现二级 + 收藏 ═══ */
.icon{width:22px;height:22px;display:inline-block;vertical-align:middle}
.tabbar button .icon{width:24px;height:24px}
.tabbar button{color:#999}
.tabbar button.active{color:var(--green)}
.tabbar button.active .icon{color:var(--green)}
.menu-icon .icon{width:22px;height:22px;color:#666}

/* 三段栏 */
.seg-tabs{display:flex;background:#fff;border-radius:10px;padding:4px;margin-bottom:10px}
.seg-btn{flex:1;padding:10px 0;background:transparent;color:var(--muted);font-size:15px;border-radius:8px;position:relative;font-weight:500}
.seg-btn.active{color:var(--green);font-weight:600}
.seg-btn.active::after{content:"";position:absolute;left:20%;right:20%;bottom:2px;height:2px;background:var(--green);border-radius:1px}
.seg-badge{display:inline-block;min-width:16px;height:16px;border-radius:8px;background:#f43530;color:#fff;font-size:10px;line-height:16px;padding:0 4px;margin-left:4px;vertical-align:2px}

/* 服务消息卡片 */
.svc-card{background:#fff;border-radius:12px;margin-bottom:10px;overflow:hidden}
.svc-head{display:flex;align-items:center;gap:10px;padding:12px 16px;cursor:pointer}
.svc-title{font-size:15px;font-weight:600;flex:1}
.svc-todo{font-size:12px;color:var(--muted)}
.svc-todo b{color:#f43530;font-weight:600}
.svc-red-dot{display:inline-block;min-width:18px;height:18px;border-radius:9px;background:#f43530;color:#fff;font-size:11px;line-height:18px;padding:0 5px;text-align:center;font-weight:600;margin-left:6px}
.svc-chevron{color:#999}
.svc-body{border-top:1px solid #f5f5f5;padding:0 16px}
.todo-item{display:flex;align-items:center;gap:10px;padding:12px 0;border-bottom:1px solid #f5f5f5}
.todo-item:last-child{border-bottom:none}
.todo-check{width:22px;height:22px;border-radius:50%;border:1.5px solid #d9d9d9;flex:none;display:flex;align-items:center;justify-content:center;color:#fff;font-size:13px}
.todo-check.done{background:var(--green);border-color:var(--green)}
.todo-text{flex:1;font-size:14px;color:#333}
.todo-item.is-done .todo-text{color:#bbb;text-decoration:line-through}
.todo-type{font-size:11px;color:#fff;background:#0958d9;border-radius:4px;padding:1px 6px;flex:none}
.todo-type.follow_up{background:#d48806}
.todo-type.lead_pending{background:#cf1322}
.todo-type.partner_result{background:#531dab}
.todo-empty{padding:20px 0;text-align:center;color:#999;font-size:13px}

/* 通讯录顶栏 */
.contacts-bar{display:flex;align-items:center;gap:8px;margin-bottom:10px}
.contacts-search{flex:1;display:flex;align-items:center;background:#fff;border-radius:8px;border:1px solid #e5e7eb;padding:0 12px;height:36px}
.contacts-search .search-icon{width:16px;height:16px;color:#999;margin-right:6px}
.contacts-search input{flex:1;background:transparent;font-size:14px;height:100%}
.icon-btn{width:36px;height:36px;border-radius:8px;background:#fff;border:1px solid #e5e7eb;display:flex;align-items:center;justify-content:center;color:#666;flex:none}
.icon-btn:active{background:#f3f4f6}

/* 心形收藏按钮 */
.fav-btn{background:transparent;border:none;padding:6px;flex:none}
.fav-btn .icon{width:20px;height:20px}

/* 筛选弹层 */
.filter-opt{padding:14px 12px;border-radius:8px;font-size:15px;cursor:pointer;margin-bottom:4px}
.filter-opt:hover{background:#f7f7f7}
.filter-opt.active{background:#f0fdf4;color:var(--green);font-weight:600}
.filter-group{padding:14px 12px 6px;font-size:12px;color:var(--muted);font-weight:500}

/* 发现页卡片调整 */
.dc-row{display:flex;align-items:center;gap:12px}
.dc-icon{width:28px;height:28px;flex:none}
.checkin-status{font-size:12px;color:#999;background:#f5f5f5;padding:2px 8px;border-radius:4px}

/* 二级页 */
.sub-title{font-size:17px;font-weight:600;margin:0 0 12px}
.cmd-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.cmd-card{background:#fff;border-radius:12px;padding:16px;text-align:center;cursor:pointer}
.cmd-dot{width:36px;height:36px;border-radius:50%;margin:0 auto 10px}
.cmd-name{font-size:15px;font-weight:600;margin-bottom:4px}
.cmd-status{font-size:12px}

/* 知识库 */
.kn-item{background:#fff;border-radius:10px;padding:12px 14px;margin-bottom:8px;cursor:pointer}
.kn-title{font-size:15px;font-weight:500;margin-bottom:4px}
.kn-meta{font-size:12px;color:var(--muted)}
.kb-body{font-size:14px;color:#333;line-height:1.7}
.kb-body h2,.kb-body h3{color:#111;font-weight:600;margin:16px 0 8px;line-height:1.4}
.kb-body h2{font-size:16px}.kb-body h3{font-size:15px}
.kb-body p{margin:8px 0}
.kb-body ul{padding-left:18px;margin:8px 0}.kb-body li{margin:4px 0}
.kb-body table{width:100%;border-collapse:collapse;margin:10px 0;font-size:12px}
.kb-body th,.kb-body td{border:1px solid #e5e7eb;padding:6px 8px;text-align:left}
.kb-body th{background:#f5f7fa;font-weight:600}
.kb-body blockquote{border-left:3px solid #16a34a;background:#f7f9fb;margin:10px 0;padding:8px 12px;color:#666}
.kb-body hr{border:none;border-top:1px solid #eee;margin:14px 0}

/* 打卡 */
.checkin-rules{background:#fff;border-radius:12px;padding:14px;margin-bottom:16px}
.rule-row{display:flex;align-items:center;gap:6px;font-size:14px;padding:4px 0}
.checkin-cta{display:flex;justify-content:center;padding:20px 0}
.checkin-btn{width:120px;height:120px;border-radius:50%;background:#f5f5f5;color:#999;display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:15px;border:none;cursor:pointer;transition:all .2s}
.checkin-btn.done{background:var(--green);color:#fff}
.checkin-btn:not(.done):active{transform:scale(0.96)}
.checkin-cal{display:flex;justify-content:space-between;background:#fff;border-radius:12px;padding:14px;margin-bottom:10px}
.cal-day{flex:1;text-align:center}
.cal-dot{width:10px;height:10px;border-radius:50%;background:#e5e7eb;margin:0 auto 4px}
.cal-day.checked .cal-dot{background:var(--green)}
.cal-label{font-size:11px;color:var(--muted)}
.checkin-note{text-align:center;font-size:12px;color:var(--muted);padding:10px 0 20px}
/* ═══ C批：我页大改 ═══ */

/* 头部卡片 */
.me-header{display:flex;align-items:center;gap:14px;background:#fff;border-radius:16px;padding:20px 16px;margin-bottom:12px;position:relative}
.me-avatar-wrap{flex:none;cursor:pointer}
.me-avatar-lg{width:72px;height:72px;border-radius:50%;background:var(--green);color:#fff;font-size:28px;font-weight:600;display:flex;align-items:center;justify-content:center;overflow:hidden}
.me-avatar-lg img{width:100%;height:100%;object-fit:cover}
.me-avatar-sm{width:40px;height:40px;border-radius:50%;background:var(--green);color:#fff;font-size:16px;font-weight:600;display:flex;align-items:center;justify-content:center;overflow:hidden}
.me-avatar-sm img{width:100%;height:100%;object-fit:cover}
.me-info{flex:1;min-width:0}
.me-nickname{font-size:22px;font-weight:700;color:var(--txt)}
.me-signature{font-size:14px;color:var(--muted);margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.me-company{font-size:14px;color:var(--muted);margin-top:1px}
.me-status{font-size:12px;color:var(--muted);margin-top:4px;display:flex;align-items:center;gap:4px}
.status-dot{width:8px;height:8px;border-radius:50%;background:#22c55e;display:inline-block}
.me-profile-link{display:flex;align-items:center;gap:2px;font-size:14px;color:var(--muted);cursor:pointer;flex:none}

/* 算力分卡片（新设计——对齐合伙人卡片风格） */
.credits-card{background:#fff;border-radius:12px;margin:12px 16px;padding:16px 20px;cursor:pointer}
.credits-row{display:flex;align-items:center;justify-content:space-between}
.credits-label{display:flex;align-items:center;gap:8px;font-size:16px;font-weight:600}
.credits-icon{width:24px;height:24px;color:var(--green)}
.credits-value-wrap{display:flex;align-items:baseline;gap:3px}
.credits-val{font-size:32px;font-weight:800;color:var(--green);line-height:1.1}
.credits-unit{font-size:14px;color:var(--muted)}
.credits-sub{display:flex;align-items:center;justify-content:space-between;margin-top:10px;padding-top:10px;border-top:1px solid var(--border)}
.credits-desc{font-size:13px;color:var(--muted)}
.credits-today{font-size:15px;font-weight:600;color:var(--green)}

.credits-chart-wrap{margin-top:0}
.credits-chart-wrap canvas{width:100%;border-radius:8px}
.credits-history{background:#fff;border-radius:12px;margin:0 16px 12px;overflow:hidden}

/* 算力明细页布局 */
.cd-balance{background:#fff;margin:0 16px 12px;padding:20px 0 16px;text-align:center;border-radius:0 0 12px 12px}
.cd-bal-label{font-size:14px;color:var(--muted);margin-bottom:6px}
.cd-bal-num{font-size:42px;font-weight:800;color:var(--green);line-height:1.1}
.cd-bal-unit{font-size:14px;color:var(--muted);margin-top:2px}

/* 时间选择器 */
.time-selector{display:flex;gap:8px;padding:0 16px 10px;overflow-x:auto}
.time-selector::-webkit-scrollbar{display:none}
.ts-btn{flex:1;min-width:52px;padding:6px 0;border:1px solid var(--border);border-radius:20px;background:#fff;font-size:12px;color:var(--txt);text-align:center;cursor:pointer;white-space:nowrap;transition:all .2s}
.ts-btn.active{background:var(--green);color:#fff;border-color:var(--green)}
.ts-btn:not(.active):hover{background:#f0fdf4}

/* 充值入口 */
.cd-recharge-bar{padding:12px 16px 24px;text-align:center}
.recharge-btn{width:100%;max-width:300px;padding:14px;font-size:16px}

/* 二级页通用 */
.sub-page{background:var(--bg)}
.sub-nav{display:flex;align-items:center;gap:12px;padding:14px 16px;background:var(--nav);border-bottom:1px solid #e5e5e5;position:sticky;top:0;z-index:10}
.sub-back{background:transparent;border:none;padding:4px;cursor:pointer;color:var(--txt)}
.sub-back .icon{width:22px;height:22px}
.sub-title{font-size:17px;font-weight:600}

/* 个人资料列表 */
.profile-list{background:#fff;border-radius:12px;margin:12px 16px;overflow:hidden}
.profile-item{display:flex;align-items:center;padding:14px 16px;border-bottom:1px solid #f0f0f0;font-size:15px}
.profile-item:last-child{border-bottom:none}
.pf-label{width:80px;flex:none;color:var(--txt)}
.pf-value{flex:1;text-align:right;color:var(--muted);margin-right:8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pf-avatar-val{display:flex;justify-content:flex-end}

/* 设置分组 */
.settings-group{margin:12px 16px}
.settings-group-title{font-size:13px;color:var(--muted);padding:8px 4px;font-weight:500}
.settings-item{display:flex;align-items:center;justify-content:space-between;background:#fff;padding:14px 16px;font-size:15px;border-bottom:1px solid #f0f0f0;cursor:pointer}
.settings-item:first-of-type{border-radius:12px 12px 0 0}
.settings-item:last-of-type{border-radius:0 0 12px 12px;border-bottom:none}
.settings-item:only-of-type{border-radius:12px}

/* Toggle 开关 */
.toggle{position:relative;width:48px;height:28px;flex:none}
.toggle input{opacity:0;width:0;height:0}
.toggle-slider{position:absolute;top:0;left:0;right:0;bottom:0;background:#e5e7eb;border-radius:28px;transition:.3s;cursor:pointer}
.toggle-slider::before{content:"";position:absolute;width:24px;height:24px;border-radius:50%;background:#fff;top:2px;left:2px;transition:.3s;box-shadow:0 1px 3px rgba(0,0,0,.2)}
.toggle input:checked+.toggle-slider{background:var(--green)}
.toggle input:checked+.toggle-slider::before{transform:translateX(20px)}

/* 算力明细列表 */
.credits-history{padding:0 16px}
.tx-item{display:flex;align-items:center;justify-content:space-between;background:#fff;padding:14px 16px;border-bottom:1px solid #f0f0f0;cursor:pointer}
.tx-item:first-child{border-radius:12px 12px 0 0}
.tx-item:last-child{border-radius:0 0 12px 12px;border-bottom:none}
.tx-amount{font-weight:700;font-size:16px}
.tx-amount.pos{color:var(--green)}
.tx-amount.neg{color:#e11d48}

/* 算力详情卡片 */
.detail-card{background:#fff;border-radius:12px;margin:12px 16px;padding:16px}
.detail-row{display:flex;justify-content:space-between;padding:10px 0;border-bottom:1px solid #f5f5f5;font-size:15px}
.detail-row:last-child{border-bottom:none}
.detail-row .k{color:var(--muted);flex:none;width:80px}
.detail-row .v{text-align:right;flex:1}

/* 合伙人表单 */
.partner-form{padding:16px}
.radio-group{display:flex;gap:16px;margin-top:4px}
.radio-item{display:flex;align-items:center;gap:6px;font-size:15px;cursor:pointer}
.radio-item input[type=radio]{accent-color:var(--green);width:18px;height:18px}

/* 合伙人看板 */
.partner-stats{display:flex;gap:10px;padding:16px}
.stat-card{flex:1;background:#fff;border-radius:12px;padding:16px;text-align:center}
.stat-num{font-size:28px;font-weight:700;color:var(--green)}
.stat-label{font-size:13px;color:var(--muted);margin-top:4px}
.partner-qr-section{padding:0 16px}
.qr-placeholder{width:180px;height:180px;background:#f3f4f6;border-radius:12px;margin:8px auto;display:flex;align-items:center;justify-content:center;color:var(--muted);font-size:14px}
.partner-link{text-align:center;font-size:13px;color:var(--muted);margin-top:8px}

/* 合伙人状态卡片 */
.partner-status-card{background:#fff;border-radius:12px;margin:12px 16px;padding:24px;text-align:center}
.partner-status-card .status-icon{font-size:48px;margin-bottom:12px}
.partner-status-card .status-text{font-size:17px;font-weight:600;margin-bottom:8px}
.partner-status-card .status-desc{font-size:14px;color:var(--muted);line-height:1.6}

/* 编辑弹层 */
.edit-mask{position:fixed;inset:0;background:rgba(0,0,0,.4);z-index:80;display:none}
.edit-mask.open{display:block}
.edit-sheet{position:fixed;bottom:0;left:0;right:0;background:#fff;border-radius:16px 16px 0 0;z-index:90;padding:20px;transform:translateY(100%);transition:transform .3s}
.edit-sheet.open{transform:translateY(0)}
.edit-sheet h3{font-size:17px;font-weight:600;margin-bottom:16px;text-align:center}
.edit-sheet .form-group{margin-bottom:16px}
.edit-sheet .btn-row{display:flex;gap:10px;margin-top:16px}
.edit-sheet .btn-row .btn-primary{flex:1}
.edit-sheet .btn-row .btn-cancel{flex:1;padding:14px;border-radius:10px;background:#f3f4f6;color:var(--txt);font-size:16px;font-weight:600;text-align:center;cursor:pointer;border:none}

/* 头像预览弹层 */
.avatar-preview-mask{position:fixed;inset:0;background:rgba(0,0,0,.6);z-index:85;display:none}
.avatar-preview-mask.open{display:block}
.avatar-preview-sheet{position:fixed;bottom:0;left:0;right:0;background:#fff;border-radius:16px 16px 0 0;z-index:95;padding:20px;transform:translateY(100%);transition:transform .3s}
.avatar-preview-sheet.open{transform:translateY(0)}
.avatar-preview-sheet h3{font-size:17px;font-weight:600;margin-bottom:16px;text-align:center}
.avatar-preview-img{width:200px;height:200px;border-radius:50%;margin:0 auto 16px;overflow:hidden;display:flex;align-items:center;justify-content:center;background:#f3f4f6}
.avatar-preview-img img{width:100%;height:100%;object-fit:cover}

/* 修改密码弹层 */
.pwd-mask{position:fixed;inset:0;background:rgba(0,0,0,.4);z-index:80;display:none}
.pwd-mask.open{display:block}
.pwd-sheet{position:fixed;bottom:0;left:0;right:0;background:#fff;border-radius:16px 16px 0 0;z-index:90;padding:20px;transform:translateY(100%);transition:transform .3s}
.pwd-sheet.open{transform:translateY(0)}
.pwd-sheet h3{font-size:17px;font-weight:600;margin-bottom:16px;text-align:center}
.pwd-sheet .form-group{margin-bottom:12px}

/* ══════════════════════════════════════════════════════════════
   客户详情页 + 激活灰色态（批1 · 2026-09-23）
   风格：微信灰/绿单色线条
   ══════════════════════════════════════════════════════════════ */

/* 灰色态（聊天列表 + 通讯录） */
.item-grey { opacity: .55; }
.item-grey .avatar { filter: grayscale(.6); }
.act-badge {
  display: inline-block; margin-left: 6px; padding: 1px 6px;
  font-size: 10px; line-height: 1.4; border-radius: 8px;
  background: #f0f0f0; color: #888; border: 1px solid #e0e0e0;
  vertical-align: 1px;
}
.input-grey { opacity: .5; }

/* 详情页头部 */
.cust-head {
  background: #fff; border-radius: 12px; margin: 8px 12px;
  padding: 14px 16px; box-shadow: 0 1px 2px rgba(0,0,0,.04);
}
.cust-head-row { display: flex; align-items: center; gap: 12px; }
.cust-avatar {
  width: 56px; height: 56px; border-radius: 12px; flex-shrink: 0;
  display: flex; align-items: center; justify-content: center;
  color: #fff; font-size: 22px; font-weight: 600;
}
.cust-head-info { flex: 1; min-width: 0; }
.cust-name { font-size: 17px; font-weight: 600; color: #111; }
.cust-rating { margin-top: 4px; font-size: 12px; color: #888; }
.cust-rating-num { color: var(--green, #10B981); font-weight: 700; font-size: 16px; margin-left: 4px; }
.cust-fullinfo-btn {
  flex-shrink: 0; padding: 6px 12px; font-size: 12px;
  border: 1px solid var(--green, #10B981); color: var(--green, #10B981);
  background: #fff; border-radius: 14px; cursor: pointer;
}
.cust-fullinfo-btn:active { background: #f0faf5; }

/* 标签 chips */
.cust-tags { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 12px; }
.cust-tag {
  padding: 3px 10px; font-size: 12px; border-radius: 12px;
  border: 1px solid #d9d9d9; color: #555; background: #fafafa;
}
.cust-tag-system { border-color: #b7e2cd; color: #0d8a54; background: #f0faf5; }
.cust-tag-user { border-color: #d9d9d9; }
.cust-tag-add {
  padding: 3px 10px; font-size: 12px; border-radius: 12px;
  border: 1px dashed #c8c8c8; color: #999; cursor: pointer;
}

/* 激活状态灰条 */
.act-banner {
  margin: 8px 12px 0; padding: 8px 12px; font-size: 12px;
  color: #888; background: #f5f5f5; border: 1px solid #e8e8e8;
  border-radius: 8px; text-align: center;
}

/* 5 个横向 tab */
.cust-tabs {
  display: flex; background: #fff; margin: 8px 12px 0;
  border-radius: 12px 12px 0 0; border-bottom: 1px solid #f0f0f0;
}
.cust-tab {
  flex: 1; padding: 12px 0; font-size: 14px; color: #666;
  background: none; border: none; cursor: pointer; position: relative;
}
.cust-tab.active { color: var(--green, #10B981); font-weight: 600; }
.cust-tab.active::after {
  content: ""; position: absolute; left: 50%; bottom: -1px;
  transform: translateX(-50%); width: 24px; height: 2px;
  background: var(--green, #10B981); border-radius: 1px;
}

/* tab 内容 */
.cust-tab-body {
  background: #fff; margin: 0 12px 12px; padding: 12px 16px;
  border-radius: 0 0 12px 12px; min-height: 200px;
}
.cust-pane { display: none; }
.cust-pane.active { display: block; }
.cust-field {
  display: flex; justify-content: space-between; align-items: center;
  padding: 10px 0; font-size: 14px; border-bottom: 1px solid #f5f5f5;
}
.cust-field:last-child { border-bottom: none; }
.cust-label { color: #888; flex-shrink: 0; }
.cust-val { color: #111; text-align: right; word-break: break-all; margin-left: 16px; }

/* E1: 多联系人提示 + 面板 (2026-09-23) */
.cust-contacts-tip { padding: 8px 0 0; }
.cust-contacts-toggle {
  width: 100%; text-align: left; background: #f0fdf4; color: #059669;
  border: 1px solid #bbf7d0; border-radius: 8px; padding: 8px 12px;
  font-size: 13px; cursor: pointer;
}
.cust-contacts-panel {
  margin: 8px 0 4px; border: 1px solid #e5e7eb; border-radius: 8px;
  padding: 4px 12px; background: #fafafa;
}
.cc-item { padding: 8px 0; border-bottom: 1px solid #f0f0f0; }
.cc-item:last-child { border-bottom: none; }
.cc-line1 { font-size: 13px; color: #333; }
.cc-line2 { font-size: 14px; margin-top: 2px; }
.cc-tel { color: #2563eb; text-decoration: none; }
.cc-rec {
  display: inline-block; font-size: 10px; color: #059669; background: #d1fae5;
  border-radius: 4px; padding: 0 4px; margin-left: 4px; vertical-align: 1px;
}
.cc-src { font-size: 11px; color: #999; }


/* 时间轴 */
.tl-item { padding: 10px 0; border-bottom: 1px solid #f5f5f5; }
.tl-item:last-child { border-bottom: none; }
.tl-time { font-size: 11px; color: #999; }
.tl-channel { font-size: 11px; color: var(--green, #10B981); margin-top: 2px; }
.tl-summary { font-size: 14px; color: #222; margin-top: 4px; line-height: 1.5; }

/* 分析 */
.an-item { padding: 10px 0; border-bottom: 1px solid #f5f5f5; font-size: 14px; }
.an-phase { font-size: 12px; color: #999; margin-bottom: 4px; }
.an-row { color: #222; line-height: 1.6; margin-top: 4px; }
.cust-note-box { margin-top: 12px; }
.cust-note-box textarea {
  width: 100%; box-sizing: border-box; padding: 10px 12px;
  font-size: 14px; border: 1px solid #e0e0e0; border-radius: 8px;
  resize: none; font-family: inherit; outline: none;
}
.cust-note-box textarea:focus { border-color: var(--green, #10B981); }
.cust-note-btn {
  margin-top: 8px; width: 100%; padding: 10px 0; font-size: 14px;
  color: #fff; background: var(--green, #10B981); border: none;
  border-radius: 8px; cursor: pointer;
}
.cust-complaint-btn { background: #cf1322; }

/* ═══ 批2b（2026-09-23）：通讯录行 / 筛选 / 评分详情 / 详情页操作 ═══ */

/* 通讯录行：品种 chip / 评分 / 状态角标 */
.comm-chip{display:inline-block;font-size:11px;color:#555;background:#f3f4f6;border-radius:4px;padding:1px 6px;margin-left:6px;vertical-align:1px}
.item-rating{display:inline-block;font-size:11px;color:#d48806;margin-left:6px;vertical-align:1px}
.item-rating.none{color:#bbb}
.item-rating{cursor:pointer}
.act-badge.act-green{background:#f0faf5;color:var(--green,#10B981)}
.act-badge.act-green::before{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--green,#10B981);margin-right:4px;vertical-align:1px}
.act-badge{cursor:default}

/* 启用按钮（绿实心小按钮） */
.enable-btn{background:var(--green,#10B981);color:#fff;border:none;border-radius:6px;font-size:13px;padding:6px 14px;flex:none;cursor:pointer}
.enable-btn:active{opacity:.85}
.enable-btn:disabled{opacity:.5}

/* 筛选弹层：组标题 / 空态 */
.filter-group{font-size:12px;color:var(--muted);padding:10px 4px 4px;font-weight:500}
.filter-empty{font-size:13px;color:#bbb;padding:6px 12px}

/* 添加客户：方向单选行 */
.add-dir-row{display:flex;gap:16px;padding-top:4px}
.add-dir{display:flex;align-items:center;gap:6px;font-size:14px;color:#333;cursor:pointer}
.add-dir input{accent-color:var(--green,#10B981)}
.form-group select{width:100%;padding:10px 12px;border:1px solid #e5e5e5;border-radius:8px;font-size:14px;background:#fff;color:#333}

/* 详情页头部操作按钮组 */
.cust-head-actions{display:flex;flex-direction:column;gap:8px;flex:none}
.cust-friend-btn{background:var(--green,#10B981);color:#fff;border:none;border-radius:8px;font-size:12px;padding:8px 10px;cursor:pointer;white-space:nowrap}
.cust-friend-btn:active{opacity:.85}
.cust-friend-btn:disabled{opacity:.5}

/* 详情页评分可点 */
#cust-rating-wrap{cursor:pointer}

/* 评分详情：六维条形 */
.score-total-row{display:flex;align-items:baseline;gap:8px;margin-bottom:4px}
.score-total-num{font-size:28px;font-weight:700;color:var(--green,#10B981)}
.score-override{font-size:12px;color:#d48806;background:#fff7e6;border-radius:4px;padding:2px 8px}
.score-ver{font-size:11px;color:#bbb;margin-bottom:14px}
.score-dim{margin-bottom:12px}
.score-dim-head{display:flex;justify-content:space-between;font-size:13px;color:#333;margin-bottom:4px}
.score-dim-missing{color:#bbb;font-size:11px;margin-left:6px}
.score-bar{height:8px;background:#f0f0f0;border-radius:4px;overflow:hidden}
.score-bar-fill{height:100%;background:var(--green,#10B981);border-radius:4px;transition:width .3s}
.score-bar-fill.missing{background:#ddd}
