/* 闲鱼CRM v2 —— 手机单栏 / 电脑三栏 */
:root{
  --bg:#0d0f10; --panel:#161819; --panel-2:#1b1d1f; --line:#303336; --line-2:#25282a;
  --text:#f5f5f2; --muted:#a5a7aa; --faint:#74777b;
  --accent:#ffd43b; --accent-ink:#171713; --accent-soft:#302b16;
  --self:#393316; --other:#1e2022;
  --ok:#3ecf72; --ok-soft:#133221; --warn:#f2a93b; --warn-soft:#372812; --bad:#ff5048; --bad-soft:#3b1917;
  --info:#6b95ff; --info-soft:#172746;
  --s-new:#2563eb; --s-quoted:#7c3aed; --s-negotiating:#d97706; --s-won:#1f9d55; --s-lost:#8a8983;
  --radius:12px; --radius-sm:8px;
  --shadow:0 1px 2px rgba(0,0,0,.26),0 10px 30px rgba(0,0,0,.16);
  --shadow-lg:0 18px 56px rgba(0,0,0,.5);
  --font:-apple-system,BlinkMacSystemFont,"PingFang SC","Hiragino Sans GB","Microsoft YaHei","Segoe UI",Roboto,sans-serif;
  --safe-b:env(safe-area-inset-bottom,0px); --safe-t:env(safe-area-inset-top,0px);
  color-scheme:dark;
}
@media (prefers-color-scheme:dark){
  :root{
    --bg:#0d0f10; --panel:#161819; --panel-2:#1b1d1f; --line:#303336; --line-2:#25282a;
    --text:#f5f5f2; --muted:#a5a7aa; --faint:#74777b;
    --accent:#ffd43b; --accent-ink:#171713; --accent-soft:#302b16;
    --self:#393316; --other:#1e2022;
    --ok:#3ecf72; --ok-soft:#133221; --warn:#f2a93b; --warn-soft:#372812; --bad:#ff5048; --bad-soft:#3b1917;
    --info:#6b95ff; --info-soft:#172746;
    --shadow:0 1px 2px rgba(0,0,0,.26),0 10px 30px rgba(0,0,0,.16);
    color-scheme:dark;
  }
}
*{box-sizing:border-box}
html,body{margin:0;height:100%;background:var(--bg);color:var(--text);font-family:var(--font);font-size:14px;line-height:1.45;-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent}
body{overflow:hidden;overscroll-behavior:none}
button,input,textarea,select{font:inherit;color:inherit}
/* iPhone Safari 会在聚焦字号 <16px 的输入框时自动放大整页：触屏设备上输入框统一 16px */
@media (hover:none) and (pointer:coarse){input,textarea,select{font-size:16px}}
@supports (-webkit-touch-callout:none){input,textarea,select{font-size:16px}}
button{cursor:pointer;border:0;background:none;padding:0}
a{color:var(--info)}
svg.i{width:20px;height:20px;flex:none;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
svg.i.sm{width:16px;height:16px}
svg.i.xs{width:13px;height:13px}
.muted{color:var(--muted)} .faint{color:var(--faint)}
.grow{flex:1;min-width:0} .row{display:flex;align-items:center;gap:8px} .col{display:flex;flex-direction:column}
.ellipsis{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.hidden{display:none!important}
.scroll{overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}

/* ---------- buttons / inputs ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:36px;padding:0 14px;border-radius:999px;border:1px solid var(--line);background:var(--panel);font-weight:500;white-space:nowrap;transition:background .15s,border-color .15s,opacity .15s}
.btn:hover{background:var(--panel-2)}
.btn:disabled{opacity:.5;cursor:default}
.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink);font-weight:600}
.btn.primary:hover{filter:brightness(.97)}
.btn.danger{color:var(--bad);border-color:color-mix(in srgb,var(--bad) 35%,var(--line))}
.btn.sm{height:30px;padding:0 11px;font-size:13px}
.btn.xs{height:26px;padding:0 9px;font-size:12px}
.btn.ghost{border-color:transparent;background:transparent}
.btn.ghost:hover{background:var(--line-2)}
.icon-btn{width:36px;height:36px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;color:var(--muted);flex:none}
.icon-btn:hover{background:var(--line-2);color:var(--text)}
.icon-btn.on{color:var(--text);background:var(--line-2)}
.input,.textarea,.select{width:100%;border:1px solid var(--line);background:var(--panel);border-radius:var(--radius-sm);padding:8px 10px;outline:none;transition:border-color .15s}
.input:focus,.textarea:focus,.select:focus{border-color:var(--faint)}
.textarea{resize:vertical;min-height:64px}
.label{font-size:12px;color:var(--muted);margin:0 0 6px;display:block}
.chip{display:inline-flex;align-items:center;gap:4px;height:22px;padding:0 8px;border-radius:999px;font-size:12px;background:var(--line-2);color:var(--muted);white-space:nowrap;flex:none}
.chip.acc{background:transparent;border:1px solid var(--line)}
.badge{min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:var(--bad);color:#fff;font-size:11px;font-weight:600;display:inline-flex;align-items:center;justify-content:center;line-height:1}
.dot{width:8px;height:8px;border-radius:50%;display:inline-block;flex:none;background:var(--faint)}
.dot.ok{background:var(--ok)} .dot.risk{background:var(--warn)} .dot.relogin{background:var(--bad)} .dot.offline{background:var(--faint)}
.stage{display:inline-flex;align-items:center;gap:5px;height:22px;padding:0 8px;border-radius:999px;font-size:12px;font-weight:500;white-space:nowrap;flex:none}
.stage::before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}
.stage.new{color:var(--s-new);background:color-mix(in srgb,var(--s-new) 10%,transparent)}
.stage.quoted{color:var(--s-quoted);background:color-mix(in srgb,var(--s-quoted) 10%,transparent)}
.stage.negotiating{color:var(--s-negotiating);background:color-mix(in srgb,var(--s-negotiating) 12%,transparent)}
.stage.won{color:var(--s-won);background:color-mix(in srgb,var(--s-won) 12%,transparent)}
.stage.lost{color:var(--s-lost);background:color-mix(in srgb,var(--s-lost) 14%,transparent)}
.seg{display:flex;gap:4px;flex-wrap:wrap}
.seg button{height:30px;padding:0 10px;border-radius:999px;border:1px solid var(--line);font-size:13px;background:var(--panel)}
.seg button.on{background:var(--text);color:var(--bg);border-color:var(--text)}
.spinner{width:18px;height:18px;border-radius:50%;border:2px solid var(--line);border-top-color:var(--muted);animation:spin .8s linear infinite;display:inline-block}
@keyframes spin{to{transform:rotate(360deg)}}
.empty{padding:48px 24px;text-align:center;color:var(--muted)}
.empty svg.i{width:36px;height:36px;color:var(--faint);margin-bottom:8px}
.empty .t{font-weight:600;color:var(--text);margin-bottom:4px}

/* ---------- login ---------- */
.login{height:100%;display:flex;align-items:center;justify-content:center;padding:24px}
.login-card{width:100%;max-width:360px;background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:28px 24px;box-shadow:var(--shadow)}
.brand{display:flex;align-items:center;gap:12px;margin-bottom:24px}
.brand .logo{width:44px;height:44px;border-radius:12px;background:var(--accent);color:var(--accent-ink);display:flex;align-items:center;justify-content:center;font-weight:800;font-size:20px}
.brand h1{font-size:19px;margin:0}
.brand p{margin:2px 0 0;color:var(--muted);font-size:13px}
.login-card .field{margin-bottom:14px}
.login-card .input{height:42px}
.login-card .btn{width:100%;height:44px;border-radius:12px;margin-top:6px}
.login-err{color:var(--bad);font-size:13px;min-height:20px;margin-top:8px}

/* ---------- shell ---------- */
.shell{height:100%;display:grid;grid-template-columns:68px 360px minmax(0,1fr);grid-template-rows:100%}
.shell.with-detail{grid-template-columns:68px 360px minmax(0,1fr) 320px}
.shell.wide-main{grid-template-columns:68px minmax(0,1fr)}
.rail{background:var(--panel);border-right:1px solid var(--line);display:flex;flex-direction:column;align-items:center;padding:14px 0;gap:4px}
.rail .logo{width:38px;height:38px;border-radius:10px;background:var(--accent);color:var(--accent-ink);font-weight:800;display:flex;align-items:center;justify-content:center;margin-bottom:14px}
.rail button{position:relative;width:52px;padding:8px 0 6px;border-radius:10px;display:flex;flex-direction:column;align-items:center;gap:3px;font-size:11px;color:var(--muted)}
.rail button:hover{background:var(--line-2);color:var(--text)}
.rail button.on{background:var(--accent-soft);color:var(--text);font-weight:600}
.rail button .badge{position:absolute;top:2px;right:4px}
.rail .spacer{flex:1}
.pane{min-width:0;height:100%;display:flex;flex-direction:column;background:var(--panel);border-right:1px solid var(--line)}
.pane.main{background:var(--bg)}
.pane-head{flex:none;padding:14px 16px 10px;display:flex;align-items:center;gap:8px;min-height:56px}
.pane-head h2{font-size:18px;margin:0;font-weight:700}
.pane-body{flex:1;min-height:0}
.tabbar{display:none}
.shell:not(.with-detail) > .detail-col{display:none}

/* ---------- alert bar ---------- */
.alerts{flex:none;padding:0 12px 8px;display:flex;flex-direction:column;gap:6px}
.alert{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:10px;background:var(--bad-soft);font-size:13px}
.alert.risk{background:var(--warn-soft)}
.alert .t{font-weight:600}
.alert .d{color:var(--muted);font-size:12px}

/* ---------- inbox ---------- */
.search{position:relative;flex:1}
.search svg.i{position:absolute;left:10px;top:50%;transform:translateY(-50%);color:var(--faint)}
.search .input{padding-left:34px;height:36px;border-radius:999px;background:var(--panel-2)}
.filters{flex:none;display:flex;gap:6px;padding:0 12px 10px;overflow-x:auto;scrollbar-width:none}
.filters::-webkit-scrollbar{display:none}
.filters button{flex:none;height:30px;padding:0 12px;border-radius:999px;font-size:13px;color:var(--muted);background:var(--line-2);display:inline-flex;align-items:center;gap:6px}
.filters button.on{background:var(--text);color:var(--bg);font-weight:600}
.filters button .n{font-size:11px;opacity:.8}
.acc-filter{flex:none;padding:0 12px 8px;display:flex;gap:6px;overflow-x:auto;scrollbar-width:none}
.acc-filter::-webkit-scrollbar{display:none}
.acc-filter button{flex:none;height:26px;padding:0 10px;border-radius:999px;font-size:12px;border:1px solid var(--line);color:var(--muted);display:inline-flex;align-items:center;gap:6px}
.acc-filter button.on{border-color:var(--text);color:var(--text);font-weight:600}
.conv-list{border-top:1px solid var(--line-2)}
.conv-swipe{position:relative;overflow:hidden;background:var(--panel)}
.conv{display:flex;gap:10px;padding:11px 14px;border-bottom:1px solid var(--line-2);cursor:pointer;position:relative;background:var(--panel);transition:transform .16s ease,background .14s ease}
.conv-swipe.open .conv{transform:translateX(calc(-1 * var(--swipe-width)))}
.conv-actions{position:absolute;inset:0 0 0 auto;width:var(--swipe-width);display:flex}
.conv-actions button{width:76px;color:#fff;font-size:13px;font-weight:700;padding:0 8px}
.conv-delete{background:var(--bad)}
.conv-actions .wait-dismiss{background:var(--accent);color:var(--accent-ink)}
.conv:hover{background:var(--panel-2)}
.conv.on{background:var(--accent-soft)}
.conv.waiting::before{content:"";position:absolute;left:0;top:10px;bottom:10px;width:3px;border-radius:0 3px 3px 0;background:var(--warn)}
.avatar{width:42px;height:42px;border-radius:50%;flex:none;background:var(--line-2);display:flex;align-items:center;justify-content:center;font-weight:600;color:var(--muted);position:relative;font-size:15px}
/* 圆形裁剪放在图片上，不放容器上：否则右上角的未读角标会被一起裁掉 */
.avatar img{width:100%;height:100%;object-fit:cover;border-radius:50%}
.avatar .badge{position:absolute;top:-3px;right:-3px;border:2px solid var(--panel)}
.avatar.sm{width:32px;height:32px;font-size:13px}
.conv .body{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.conv .l1{display:flex;align-items:center;gap:6px}
.conv .name{font-weight:600;flex:1;min-width:0}
.conv .time{font-size:12px;color:var(--faint);flex:none}
.conv .l2{font-size:13px;color:var(--muted)}
.conv .l3{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--faint);margin-top:2px}
.conv .l3 .item{flex:1;min-width:0}
.conv .unread-wrap{position:relative}
.list-foot{padding:14px;text-align:center;color:var(--faint);font-size:12px}
.pin svg.i{color:var(--warn)}

/* ---------- chat ---------- */
.chat{height:100%;display:flex;flex-direction:column;min-width:0}
.chat-head{flex:none;display:flex;align-items:center;gap:10px;padding:10px 14px;border-bottom:1px solid var(--line);background:var(--panel);min-height:58px}
.chat-head .who{flex:1;min-width:0}
.chat-head .who .n{font-weight:700;font-size:15px}
.chat-head .who .s{font-size:12px;color:var(--muted);display:flex;gap:6px;align-items:center}
.back{display:none}
.item-strip{flex:none;display:flex;align-items:center;gap:10px;padding:8px 14px;background:var(--panel);border-bottom:1px solid var(--line);font-size:13px}
.item-strip img,.item-strip .ph{width:36px;height:36px;border-radius:6px;object-fit:cover;background:var(--line-2);flex:none}
.item-strip .price{font-weight:700;color:var(--bad)}
.msgs{flex:1;min-height:0;padding:14px 16px 8px;display:flex;flex-direction:column;gap:6px}
.msg-day{align-self:center;font-size:12px;color:var(--faint);padding:8px 0 4px}
.msg{display:flex;gap:8px;max-width:78%;align-items:flex-end}
.msg.self{align-self:flex-end;flex-direction:row-reverse}
.bubble{padding:8px 12px;border-radius:14px;background:var(--other);border:1px solid var(--line-2);white-space:pre-wrap;word-break:break-word;position:relative}
.msg.self .bubble{background:var(--self);border-color:transparent}
.msg.other .bubble{border-bottom-left-radius:4px}
.msg.self .bubble{border-bottom-right-radius:4px}
.bubble img{display:block;max-width:220px;max-height:260px;border-radius:8px;cursor:zoom-in}
.bubble .imgs{display:flex;flex-wrap:wrap;gap:4px}
.msg .meta{font-size:11px;color:var(--faint);flex:none;padding-bottom:2px;display:flex;flex-direction:column;align-items:flex-end;gap:2px}
.msg .meta button{color:var(--faint);font-size:11px;display:none}
.msg:hover .meta button{display:inline}
.msg.card{align-self:center;max-width:90%}
.msg.card .bubble{background:var(--line-2);border:0;font-size:12px;color:var(--muted);text-align:center;border-radius:10px}
.msg.card.rich{width:min(430px,92%);max-width:92%;flex:none}
.msg.card.rich .bubble{width:100%;padding:0;background:var(--panel);border:1px solid var(--line);border-radius:14px;color:var(--text);text-align:left;overflow:hidden;box-shadow:0 8px 24px rgba(0,0,0,.08)}
.card-msg-meta{padding:9px 12px 0;color:var(--muted);font-size:11px}
.card-msg-main{display:flex;gap:11px;padding:10px 12px}
.bubble .card-msg-image{width:62px;height:62px;object-fit:cover;border-radius:9px;cursor:default;flex:none}
.card-msg-copy{min-width:0;display:flex;flex-direction:column;gap:4px;line-height:1.4}
.card-msg-copy strong{font-size:14px;color:var(--text)}
.card-msg-copy p{margin:0;color:var(--muted);white-space:pre-wrap}
.card-msg-copy span{color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.card-msg-actor{display:flex;align-items:center;gap:6px;margin:0 12px 10px;color:var(--muted)}
.bubble .card-msg-actor img{width:22px;height:22px;border-radius:50%;object-fit:cover;cursor:default}
.card-msg-action{display:block;padding:10px 12px;border-top:1px solid var(--line-2);color:var(--accent);font-weight:600;text-align:center}
.msg.pending .bubble{opacity:.6}
.msg.failed .bubble{border:1px solid var(--bad)}
.load-older{align-self:center;font-size:12px;color:var(--muted);padding:4px 10px}
.composer{flex:none;background:var(--panel);border-top:1px solid var(--line);padding:8px 10px calc(8px + var(--safe-b))}
.suggest{display:flex;gap:6px;overflow-x:auto;padding:2px 2px 8px;scrollbar-width:none}
.suggest::-webkit-scrollbar{display:none}
.suggest button{flex:none;max-width:260px;text-align:left;padding:7px 11px;border-radius:12px;border:1px solid var(--line);background:var(--panel-2);font-size:13px;line-height:1.35;white-space:normal}
.suggest button:hover{border-color:var(--faint)}
.suggest button.ai{border-color:color-mix(in srgb,var(--s-quoted) 40%,var(--line));background:color-mix(in srgb,var(--s-quoted) 6%,var(--panel))}
.suggest .lbl{flex:none;align-self:center;font-size:12px;color:var(--muted);padding:0 4px}
.compose-row{display:flex;align-items:flex-end;gap:6px}
.compose-row textarea{flex:1;resize:none;border:1px solid var(--line);background:var(--panel-2);border-radius:18px;padding:8px 14px;max-height:140px;min-height:38px;line-height:1.45;outline:none}
.compose-row textarea:focus{border-color:var(--faint);background:var(--panel)}
.send{width:38px;height:38px;border-radius:50%;background:var(--accent);color:var(--accent-ink);display:inline-flex;align-items:center;justify-content:center;flex:none}
.send:disabled{opacity:.4}
.compose-hint{font-size:11px;color:var(--faint);padding:4px 6px 0}
.chat-blocked{flex:none;padding:12px 14px;background:var(--bad-soft);font-size:13px;display:flex;align-items:center;gap:10px}

/* ---------- detail (customer) ---------- */
.detail{height:100%;display:flex;flex-direction:column;background:var(--panel);border-left:1px solid var(--line)}
.detail .sec{padding:14px 16px;border-bottom:1px solid var(--line-2)}
.detail .sec h4{margin:0 0 10px;font-size:12px;color:var(--muted);font-weight:600;letter-spacing:.02em}
.detail .who{display:flex;align-items:center;gap:10px}
.kv{display:grid;grid-template-columns:auto 1fr;gap:6px 12px;font-size:13px}
.kv .k{color:var(--muted)}
.fu-quick{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
.order{display:flex;justify-content:space-between;gap:8px;font-size:13px;padding:6px 0;border-bottom:1px dashed var(--line-2)}
.order:last-child{border-bottom:0}
.saved{font-size:12px;color:var(--ok);margin-left:6px}

/* ---------- pages ---------- */
.page{height:100%;display:flex;flex-direction:column;min-width:0}
.page-body{flex:1;min-height:0;padding:0 20px 24px}
.page > .pane-head,.page-tools{width:100%;max-width:1120px;margin:0 auto;padding-left:20px;padding-right:20px}
.page-tools{flex:none}
.product-tabs{display:flex;align-items:center;gap:3px;margin-left:10px;padding:3px;background:var(--line-2);border-radius:10px}
.product-tabs button{height:30px;padding:0 13px;border-radius:8px;color:var(--muted);font-size:13px}
.product-tabs button.on{background:var(--panel);color:var(--text);font-weight:600;box-shadow:0 1px 2px rgba(0,0,0,.12)}
.page-inner{max-width:1080px;margin:0 auto}
.kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:16px}
.kpi{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:14px 16px;cursor:default}
.kpi.click{cursor:pointer}
.kpi.click:hover{border-color:var(--faint)}
.kpi .k{font-size:12px;color:var(--muted)}
.kpi .v{font-size:26px;font-weight:700;margin-top:4px;font-variant-numeric:tabular-nums}
.kpi .s{font-size:12px;color:var(--faint);margin-top:2px}
.cards2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}
.card-h{display:flex;align-items:center;gap:8px;padding:12px 16px;border-bottom:1px solid var(--line-2);font-weight:600}
.card-h .grow{font-weight:600}
.card-b{padding:4px 0}
.li{display:flex;align-items:center;gap:10px;padding:9px 16px;cursor:pointer}
.li:hover{background:var(--panel-2)}
.li .t{font-weight:500}
.li .s{font-size:12px;color:var(--muted)}
.funnel{display:flex;flex-direction:column;gap:8px;padding:12px 16px}
.funnel .fr{display:grid;grid-template-columns:64px 1fr 40px;align-items:center;gap:10px;font-size:13px;cursor:pointer}
.funnel .bar{height:10px;border-radius:5px;background:var(--line-2);overflow:hidden}
.funnel .bar i{display:block;height:100%;border-radius:5px}
.funnel .n{text-align:right;font-variant-numeric:tabular-nums;color:var(--muted)}

/* leads table */
.lead-row{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1.6fr) 96px 90px 110px;gap:12px;align-items:center;padding:11px 16px;border-bottom:1px solid var(--line-2);cursor:pointer;font-size:13px}
.lead-row:hover{background:var(--panel-2)}
.lead-row.head{cursor:default;font-size:12px;color:var(--muted);background:var(--panel-2);font-weight:600}
.lead-row .who{display:flex;align-items:center;gap:8px;min-width:0}
.overdue{color:var(--bad);font-weight:600}

/* accounts */
.acc-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:12px;min-width:0}
.acc-card{background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:16px;display:flex;flex-direction:column;gap:12px;min-width:0;max-width:100%;box-shadow:0 8px 28px rgba(31,35,48,.045)}
.acc-card .top{display:flex;align-items:center;gap:12px}
.acc-card .nm{font-weight:700;font-size:15px}
.acc-card .sub{font-size:12px;color:var(--muted)}
.xianqi{--score-color:var(--muted);display:flex;align-items:center;gap:12px;padding:12px;border:1px solid var(--line);border-radius:12px;background:var(--panel-2)}.xianqi.good{--score-color:var(--ok);border-color:color-mix(in srgb,var(--ok) 24%,var(--line));background:color-mix(in srgb,var(--ok-soft) 58%,var(--panel))}.xianqi.warn{--score-color:var(--warn);border-color:color-mix(in srgb,var(--warn) 28%,var(--line));background:color-mix(in srgb,var(--warn-soft) 60%,var(--panel))}.xianqi.bad{--score-color:var(--bad);border-color:color-mix(in srgb,var(--bad) 25%,var(--line));background:color-mix(in srgb,var(--bad-soft) 58%,var(--panel))}
.xianqi-ring{position:relative;width:54px;height:54px;display:grid;place-content:center;text-align:center;border-radius:50%;background:conic-gradient(var(--score-color) calc(var(--xianqi)*1%),var(--line-2) 0);flex:none}.xianqi-ring:before{content:"";position:absolute;inset:5px;border-radius:50%;background:var(--panel)}.xianqi-ring b,.xianqi-ring small{position:relative;z-index:1;line-height:1}.xianqi-ring b{font-size:18px}.xianqi-ring small{font-size:9px;color:var(--muted);margin-top:2px}.xianqi-title{font-size:13px;color:var(--muted)}.xianqi-title span{margin-left:5px;color:var(--score-color);font-weight:700}.xianqi-sub{font-size:11px;color:var(--faint);margin-top:4px}
.health{display:flex;gap:10px;align-items:flex-start;padding:10px 12px;border-radius:10px;font-size:13px}
.health.ok{background:var(--ok-soft)} .health.risk{background:var(--warn-soft)} .health.relogin{background:var(--bad-soft)} .health.offline{background:var(--line-2)}
.health .t{font-weight:600}
.health .d{color:var(--muted);font-size:12px;margin-top:2px}
.account-channels{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.account-channels>div{display:grid;gap:4px;padding:10px 11px;border:1px solid var(--line-2);border-radius:10px;background:var(--panel-2);min-width:0}.account-channels .wide{grid-column:1/-1}.account-channels span{font-size:11px;color:var(--muted)}.account-channels b{font-size:12px;font-weight:600;overflow:hidden;text-overflow:ellipsis}.account-channels b.ok{color:var(--ok)}.account-channels b.off{color:var(--muted)}
.publish-setting{display:grid;gap:10px;padding:12px;border:1px solid var(--line);border-radius:12px;background:var(--panel-2)}.publish-setting.on{border-color:color-mix(in srgb,var(--ok) 25%,var(--line));background:color-mix(in srgb,var(--ok-soft) 45%,var(--panel))}.publish-setting-head{display:flex;align-items:center;gap:12px;justify-content:space-between}.publish-setting-head .t{display:flex;align-items:center;gap:6px;font-size:13px;font-weight:700}.publish-setting-head .d{font-size:11px;color:var(--muted);margin-top:3px}.publish-speed{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:10px;font-size:12px;color:var(--muted)}.publish-speed .input{height:34px;padding:0 30px 0 10px;font-size:12px}.publish-note{font-size:10px;line-height:1.45;color:var(--faint)}
.switch{position:relative;display:inline-flex;width:46px;height:27px;flex:none}.switch input{position:absolute;opacity:0;pointer-events:none}.switch span{width:100%;height:100%;border-radius:999px;background:var(--line);box-shadow:inset 0 0 0 1px var(--line-2);transition:.18s}.switch span:after{content:"";position:absolute;width:21px;height:21px;left:3px;top:3px;border-radius:50%;background:#fff;box-shadow:0 2px 6px rgba(0,0,0,.22);transition:.18s}.switch input:checked+span{background:var(--ok);box-shadow:none}.switch input:checked+span:after{transform:translateX(19px)}.switch input:focus-visible+span{outline:2px solid var(--accent);outline-offset:2px}.switch input:disabled+span{opacity:.55}
.facts{display:grid;grid-template-columns:auto 1fr;gap:4px 12px;font-size:12px}
.facts .k{color:var(--muted)}
.acc-card .acts{display:flex;gap:8px;flex-wrap:wrap}
.acc-card.needs-attention{border-color:color-mix(in srgb,var(--warn) 44%,var(--line))}
.acc-score-row{display:flex;align-items:stretch;gap:8px}.acc-score-row .xianqi{flex:1;min-width:0;padding:9px 10px}.acc-score-row .xianqi-ring{width:48px;height:48px}.acc-score-row .xianqi-ring b{font-size:16px}
.acc-health-pill{width:116px;display:flex;align-items:center;justify-content:center;gap:7px;padding:0 9px;border:1px solid var(--line);border-radius:12px;background:var(--panel-2);font-size:12px;font-weight:650;white-space:nowrap}.acc-health-pill.ok{color:var(--ok);border-color:color-mix(in srgb,var(--ok) 30%,var(--line));background:color-mix(in srgb,var(--ok-soft) 55%,var(--panel))}.acc-health-pill.risk{color:var(--warn);border-color:color-mix(in srgb,var(--warn) 34%,var(--line));background:color-mix(in srgb,var(--warn-soft) 55%,var(--panel))}.acc-health-pill.relogin{color:var(--bad);border-color:color-mix(in srgb,var(--bad) 34%,var(--line));background:color-mix(in srgb,var(--bad-soft) 55%,var(--panel))}.acc-health-pill .i,.acc-card-alert .i:last-child,.acc-edit-list>button>.i:last-child{transform:rotate(180deg);color:var(--faint)}
.acc-card-alert{display:flex;align-items:center;gap:8px;width:100%;min-height:36px;padding:7px 9px;border-radius:9px;background:var(--warn-soft);color:var(--warn);font-size:11px;text-align:left}.acc-card-alert span{flex:1;min-width:0}
.account-channels.compact{gap:6px}.account-channels.compact>div{min-height:56px;padding:8px 9px}.account-channels.compact span{display:flex;align-items:center;gap:5px}.account-channels.compact b{white-space:nowrap}
.acc-edit-list{border:1px solid var(--line-2);border-radius:11px;overflow:hidden;min-width:0}.acc-edit-list>button{width:100%;min-width:0;min-height:54px;display:flex;align-items:center;gap:9px;padding:8px 10px;background:var(--panel-2);text-align:left}.acc-edit-list>button+button{border-top:1px solid var(--line-2)}.acc-edit-list>button:hover{background:color-mix(in srgb,var(--panel-2) 75%,var(--line))}.acc-edit-list b{display:block;font-size:12px}.acc-edit-list small{display:block;max-width:100%;margin-top:2px;color:var(--faint);font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.acc-edit-icon{display:grid;place-items:center;width:30px;height:30px;border-radius:9px;background:var(--line-2);color:var(--muted);flex:none}.acc-edit-list .status-pill{max-width:108px;overflow:hidden;text-overflow:ellipsis}
.acc-card-foot{display:flex;align-items:center;gap:8px;min-height:28px}.acc-card-foot>span{flex:1;min-width:0;font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.acc-card-foot .btn{flex:none}.acc-manage{border:1px solid transparent}.acc-manage:hover{border-color:var(--line)}
.account-settings-modal{max-width:760px;overflow:hidden}.account-settings-head{min-height:66px;padding:14px 18px;border-bottom:1px solid var(--line-2);justify-content:space-between}.account-settings-head>div{display:flex;align-items:baseline;gap:10px}.account-settings-head b{font-size:18px}.account-settings-head span{color:var(--muted);font-size:12px}.account-settings-body{display:grid;grid-template-columns:190px minmax(0,1fr);min-height:430px}.account-settings-body>aside{padding:14px 10px;border-right:1px solid var(--line-2);background:color-mix(in srgb,var(--panel-2) 70%,var(--panel))}.account-settings-id{display:flex;align-items:center;gap:9px;padding:4px 7px 14px;margin-bottom:6px;border-bottom:1px solid var(--line-2)}.account-settings-id>div{min-width:0}.account-settings-id b,.account-settings-id span{display:block}.account-settings-id b{font-size:12px}.account-settings-id span{color:var(--faint);font-size:10px;margin-top:2px}.account-settings-body>aside>button{width:100%;height:40px;display:flex;align-items:center;gap:9px;padding:0 11px;border-radius:9px;color:var(--muted);font-size:13px;text-align:left}.account-settings-body>aside>button:hover{background:var(--line-2);color:var(--text)}.account-settings-body>aside>button.on{background:var(--accent-soft);color:var(--accent);font-weight:650}.account-settings-body>section{display:flex;flex-direction:column;min-width:0;padding:24px}.account-settings-title h3{margin:0;font-size:18px}.account-settings-title p{margin:5px 0 0;color:var(--muted);font-size:12px;line-height:1.55}.account-settings-form{display:grid;gap:18px;margin-top:24px}.account-settings-form>label:not(.account-toggle-row){display:grid;gap:7px}.account-settings-form>label>span{color:var(--muted);font-size:12px}.account-settings-form .input{min-height:42px;background:var(--bg)}.account-toggle-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px;border:1px solid var(--line);border-radius:12px;background:var(--panel-2)}.account-toggle-row b,.account-toggle-row small{display:block}.account-toggle-row b{color:var(--text);font-size:14px}.account-toggle-row small{margin-top:3px;color:var(--muted);font-size:11px}.account-settings-note{padding:11px 12px;border-radius:9px;background:var(--panel-2);color:var(--faint);font-size:11px;line-height:1.55}.account-readonly{display:grid;grid-template-columns:90px minmax(0,1fr);gap:9px 12px;padding:13px;border-radius:10px;background:var(--panel-2);font-size:12px}.account-readonly span{color:var(--muted)}.account-readonly b{font-weight:550;overflow-wrap:anywhere}.account-settings-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:auto;padding-top:24px}.account-settings-actions .btn{min-width:88px}.account-connection-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-top:24px}.account-connection-grid>div{display:grid;gap:5px;padding:12px;border:1px solid var(--line);border-radius:10px;background:var(--panel-2)}.account-connection-grid .wide{grid-column:1/-1}.account-connection-grid span{color:var(--muted);font-size:11px}.account-connection-grid b{font-size:13px}.account-connection-grid b.ok{color:var(--ok)}.account-connection-grid b.off{color:var(--bad)}.account-maintenance{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0}.account-readonly.connection{margin-top:4px}
.publish-pace-modal{display:grid;gap:16px}.publish-pace-modal>p{margin:0}.publish-pace-presets{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.publish-pace-presets button{display:grid;gap:1px;padding:11px 8px;border:1px solid var(--line);border-radius:11px;background:var(--panel-2);text-align:center}.publish-pace-presets button:hover,.publish-pace-presets button.on{border-color:var(--accent);background:var(--accent-soft)}.publish-pace-presets b{font-size:21px;line-height:1.1}.publish-pace-presets span{font-size:11px;color:var(--muted)}.publish-pace-presets small{margin-top:5px;font-size:10px;color:var(--faint);white-space:nowrap}.publish-pace-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.publish-pace-fields label{display:grid;gap:6px}.publish-pace-summary{display:grid;gap:3px;padding:11px 12px;border-radius:9px;background:var(--ok-soft);color:var(--ok)}.publish-pace-summary.warn{background:var(--warn-soft);color:var(--warn)}.publish-pace-summary b{font-size:13px}.publish-pace-summary span{font-size:11px;line-height:1.5}
.icon-btn.is-loading svg{animation:spin .8s linear infinite}

/* goods */
.goods-bar{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-bottom:12px}
.goods-bar .search{min-width:200px}
.good{display:flex;gap:12px;align-items:center;padding:10px 16px;border-bottom:1px solid var(--line-2)}
.good img,.good .ph{width:56px;height:56px;border-radius:8px;object-fit:cover;background:var(--line-2);flex:none}
.good-actions{display:flex;align-items:center;gap:6px;flex:none}
.good .t{font-weight:500;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.good .m{font-size:12px;color:var(--muted);display:flex;flex-wrap:wrap;gap:6px 10px;margin-top:3px;align-items:center}
.good input[type=checkbox]{width:18px;height:18px;flex:none;accent-color:var(--text)}
.status-pill{font-size:11px;padding:1px 7px;border-radius:999px;background:var(--line-2);white-space:nowrap;flex:none}
.good .m .chip,.good .m span{white-space:nowrap}
.good > a.btn{flex:none}
.stock-inline{border:0;background:transparent;padding:0;color:var(--muted);font:inherit;cursor:pointer;white-space:nowrap}
.stock-inline:hover{text-decoration:underline}.stock-inline.low{color:var(--warn);font-weight:600}
.stock-inline.empty{color:var(--bad);font-weight:700}
.status-pill.on{background:var(--ok-soft);color:var(--ok)}
.sel-bar{position:sticky;bottom:0;display:flex;gap:8px;align-items:center;padding:10px 16px;background:var(--panel);border-top:1px solid var(--line)}
.stock-editor{display:grid;grid-template-columns:44px minmax(0,1fr) 44px;gap:8px;align-items:center}
.stock-editor>button{height:42px;border:1px solid var(--line);border-radius:10px;background:var(--panel-2);font-size:20px}
.stock-editor .input{text-align:center;font-size:16px;font-weight:600}
.stock-presets,.ship-companies{display:flex;gap:7px;overflow-x:auto;padding:8px 0 2px;scrollbar-width:none}
.stock-presets::-webkit-scrollbar,.ship-companies::-webkit-scrollbar{display:none}
.stock-presets button,.ship-companies button{flex:none;min-height:34px;padding:0 11px;border:1px solid var(--line);border-radius:999px;background:var(--panel-2);font-size:12px}

/* orders */
.order-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:12px}
.order-summary>button{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:12px 16px;display:grid;grid-template-columns:1fr auto;align-items:center;gap:2px 12px;text-align:left}
.order-summary>button:hover,.order-summary>button.on{border-color:var(--text)}.order-summary>button.on{box-shadow:inset 0 0 0 1px var(--text)}
.order-summary span{font-size:12px;color:var(--muted)}.order-summary b{font-size:22px;font-variant-numeric:tabular-nums}
.order-summary small{grid-column:1/-1;color:var(--faint);font-size:11px}
.ops-shortcuts{display:flex;align-items:center;gap:8px;margin:0 0 12px;min-height:36px}
.ops-shortcuts button{display:inline-flex;align-items:center;gap:5px;min-height:34px;padding:0 11px;border:1px solid var(--line);border-radius:9px;background:var(--panel);font-size:12px;white-space:nowrap}
.ops-shortcuts .faint{margin-left:auto;font-size:12px}
.order-list{overflow:hidden}.order-row{display:flex;align-items:center;gap:16px;padding:14px 16px;border-bottom:1px solid var(--line-2);cursor:pointer}
.order-row:last-child{border-bottom:0}.order-row:hover{background:var(--panel-2)}.order-row:focus-visible{outline:2px solid var(--info);outline-offset:-2px}
.order-main{min-width:0;flex:1}.order-title{font-size:14px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.order-meta{display:flex;flex-wrap:wrap;gap:4px 12px;color:var(--muted);font-size:12px;margin-top:5px}.order-no{font-size:11px;color:var(--faint);margin-top:4px}
.order-account-badge{display:inline-flex;align-items:center;gap:6px;width:max-content;max-width:100%;padding:3px 8px;border-radius:999px;font-size:11px;font-weight:650;line-height:1.3;color:var(--info);background:var(--info-soft);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.order-account-badge i{width:6px;height:6px;border-radius:50%;background:currentColor;flex:none}.order-main>.order-account-badge{margin-bottom:6px}.mh>.order-account-badge{margin-left:10px}
.order-account-badge.tone-1{color:var(--ok);background:var(--ok-soft)}.order-account-badge.tone-2{color:#7c3aed;background:color-mix(in srgb,#7c3aed 14%,var(--panel))}.order-account-badge.tone-3{color:#0891b2;background:color-mix(in srgb,#0891b2 14%,var(--panel))}
.order-side{display:flex;align-items:flex-end;gap:6px;flex-direction:column;flex:none}.order-side>b{color:var(--bad);font-size:16px}
.order-status{display:inline-flex;align-items:center;font-size:11px;padding:2px 8px;border-radius:999px;background:var(--line-2);color:var(--muted);white-space:nowrap;font-weight:500}
.order-status.wait{background:var(--warn-soft);color:var(--warn)}.order-status.done{background:var(--ok-soft);color:var(--ok)}.order-status.risk{background:var(--bad-soft);color:var(--bad)}
.rental-chip{display:inline-flex;align-items:center;padding:2px 7px;border-radius:999px;background:var(--warn-soft);color:var(--warn);font-size:11px;font-weight:600;white-space:nowrap}
.rental-chip.active{background:var(--info-soft);color:var(--info)}.rental-chip.completed{background:var(--ok-soft);color:var(--ok)}.rental-chip.cancelled{background:var(--line-2);color:var(--muted)}
.modal.order-modal{max-width:620px}.order-detail h3{font-size:16px;line-height:1.5;margin:0 0 14px}.order-facts{display:grid;grid-template-columns:84px minmax(0,1fr);gap:8px 12px;font-size:13px}
.order-facts>span{color:var(--muted)}.order-facts>b{font-weight:500;overflow-wrap:anywhere}.order-address{margin:16px 0 8px;padding:12px;background:var(--panel-2);border-radius:10px;font-size:13px;line-height:1.65;overflow-wrap:anywhere}.order-address strong{display:block;margin-bottom:3px}
.order-copy{display:flex;align-items:center;gap:8px}
.order-price-origin{display:grid;grid-template-columns:1fr auto;gap:7px 14px;padding:12px;border-radius:10px;background:var(--panel-2);font-size:13px}.order-price-origin span{color:var(--muted)}.order-price-origin b{text-align:right;font-variant-numeric:tabular-nums}.order-price-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:14px}.order-price-grid label{display:grid;gap:6px}.order-price-grid label>span{font-size:12px;color:var(--muted)}.order-price-payable{display:flex;align-items:center;justify-content:space-between;margin-top:12px;padding:12px;border:1px solid color-mix(in srgb,var(--accent) 34%,var(--line));border-radius:10px;background:var(--accent-soft)}.order-price-payable span{font-size:12px;color:var(--muted)}.order-price-payable b{font-size:20px;color:var(--accent);font-variant-numeric:tabular-nums}
.order-ship-note{margin-top:14px;padding:10px 12px;border-radius:9px;background:var(--warn-soft);color:var(--warn);font-size:12px;line-height:1.55}
.order-lifecycle,.order-refund{margin-top:14px;padding:14px;border:1px solid var(--line);border-radius:12px;background:var(--panel-2)}
.order-refund{border-color:color-mix(in srgb,var(--bad) 28%,var(--line));background:color-mix(in srgb,var(--bad-soft) 55%,var(--panel))}
.order-section-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.order-section-head small{display:block;color:var(--muted);font-size:11px;margin-bottom:3px}.order-section-head strong{display:block;font-size:14px}
.rental-steps{display:grid;grid-template-columns:auto 1fr auto 1fr auto;align-items:center;gap:7px;margin:14px 0 10px}.rental-steps span{font-size:11px;color:var(--faint);white-space:nowrap}.rental-steps span.on{color:var(--ok);font-weight:650}.rental-steps i{height:1px;background:var(--line)}
.order-lifecycle.official{border-color:color-mix(in srgb,var(--info) 30%,var(--line));background:color-mix(in srgb,var(--info-soft) 40%,var(--panel))}.rental-countdown{margin-top:9px;color:var(--warn);font-size:12px;font-weight:600}.official-rental-steps{display:flex;flex-wrap:wrap;gap:7px;margin:13px 0 4px}.official-rental-steps span{display:inline-flex;align-items:center;gap:5px;padding:5px 8px;border:1px solid var(--line);border-radius:999px;color:var(--faint);font-size:11px;background:var(--panel)}.official-rental-steps span i{display:inline-grid;place-items:center;width:15px;height:15px;border:1px solid var(--line);border-radius:50%;font-style:normal;font-size:10px}.official-rental-steps span.on{border-color:color-mix(in srgb,var(--ok) 36%,var(--line));color:var(--ok);font-weight:650}.official-rental-steps span.on i{border-color:var(--ok);background:var(--ok);color:#fff}
.rental-period{display:flex;flex-wrap:wrap;gap:7px 16px;color:var(--muted);font-size:12px;line-height:1.55}.order-lifecycle p,.order-refund p{font-size:12px;line-height:1.55;margin:10px 0 0}.risk-text{color:var(--bad)!important}.order-inline-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.order-rate-done{margin-top:14px;padding:9px 12px;border-radius:9px;background:var(--ok-soft);color:var(--ok);font-size:12px;font-weight:600}
.order-ratings{margin-top:14px;padding:14px;border:1px solid color-mix(in srgb,var(--ok) 28%,var(--line));border-radius:12px;background:color-mix(in srgb,var(--ok-soft) 45%,var(--panel))}.order-rating{margin-top:12px;padding-top:12px;border-top:1px solid var(--line)}.order-rating>div{display:flex;align-items:center;gap:8px}.order-rating strong{font-size:13px}.order-rating p{margin:7px 0 3px;font-size:13px;line-height:1.55}.order-rating small{color:var(--faint);font-size:11px}.rating-label{display:inline-flex;padding:2px 7px;border-radius:999px;background:var(--line-2);color:var(--muted);font-size:11px;font-weight:650}.rating-label.good{background:var(--ok-soft);color:var(--ok)}.rating-label.bad{background:var(--bad-soft);color:var(--bad)}
.rental-form>.select{width:100%}.rental-date-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:12px 0}.rental-date-grid label{display:grid;gap:6px}.rental-date-grid label>span{font-size:12px;color:var(--muted)}.rental-form textarea{resize:vertical;min-height:78px}
.modal.refund-modal{max-width:720px}.refund-verify iframe{display:block;width:100%;height:min(56dvh,520px);margin:12px 0;border:1px solid var(--line);border-radius:10px;background:#fff}.refund-verify-state{margin:0 0 10px;color:var(--muted);font-size:12px;text-align:center}
.more-nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding-top:14px!important}
.more-nav button{min-height:74px;border:1px solid var(--line);border-radius:12px;background:var(--panel-2);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;color:var(--muted)}
.more-nav button.on{border-color:var(--text);color:var(--text);font-weight:600}.more-nav button .i{width:22px;height:22px}

/* ---------- modal / sheet / toast ---------- */
.modal-bg{position:fixed;inset:0;background:rgba(0,0,0,.4);display:flex;align-items:center;justify-content:center;z-index:50;padding:16px;animation:fade .15s}
.modal{background:var(--panel);border-radius:16px;width:100%;max-width:400px;box-shadow:var(--shadow-lg);overflow:hidden;animation:pop .18s}
.modal .mh{padding:16px 18px 6px;font-weight:700;font-size:16px;display:flex;align-items:center}
.modal .mb{padding:8px 18px 14px}
.modal .mf{padding:12px 18px 16px;display:flex;gap:8px;justify-content:flex-end}
.qr-box{width:220px;height:220px;margin:8px auto;border-radius:12px;background:#fff;display:flex;align-items:center;justify-content:center;border:1px solid var(--line);overflow:hidden}
.qr-box img{width:100%;height:100%;object-fit:contain}
.qr-steps{font-size:13px;color:var(--muted);text-align:center;min-height:40px}
.qr-steps.ok{color:var(--ok);font-weight:600}
.qr-steps.bad{color:var(--bad)}
@keyframes fade{from{opacity:0}}
@keyframes pop{from{transform:scale(.96);opacity:0}}
#app{height:100%}
#toasts{position:fixed;left:50%;top:calc(14px + var(--safe-t));transform:translateX(-50%);z-index:80;display:flex;flex-direction:column;gap:6px;align-items:center;pointer-events:none}
.toast{background:var(--text);color:var(--bg);padding:9px 16px;border-radius:999px;font-size:13px;box-shadow:var(--shadow);animation:pop .15s;max-width:90vw}
.toast.err{background:var(--bad);color:#fff}
.toast.action{display:flex;align-items:center;gap:14px;pointer-events:auto}
.toast.action button{color:var(--accent);font-weight:800}
.pwa-update-prompt{position:fixed;right:18px;bottom:18px;z-index:45;display:flex;align-items:center;gap:18px;max-width:380px;padding:12px 14px;border:1px solid color-mix(in srgb,var(--accent) 55%,var(--line));border-radius:14px;background:var(--panel);box-shadow:var(--shadow-lg);animation:pop .18s}
.pwa-update-prompt>div{display:flex;flex-direction:column;gap:2px}.pwa-update-prompt b{font-size:13px}.pwa-update-prompt span{font-size:12px;color:var(--muted)}
.lightbox{position:fixed;inset:0;background:rgba(0,0,0,.88);z-index:90;display:flex;align-items:center;justify-content:center;cursor:zoom-out}
.lightbox img{max-width:94vw;max-height:94vh}
.video-message{width:min(280px,58vw);white-space:normal}
.video-preview{display:flex;position:relative;align-items:center;justify-content:center;width:100%;min-height:128px;padding:0;border:0;border-radius:8px;background:#111;color:white;overflow:hidden;cursor:pointer}
.bubble .video-preview img{width:100%;height:auto;max-width:none;max-height:240px;object-fit:cover;border-radius:8px;cursor:pointer}
.video-play{display:flex;align-items:center;justify-content:center;gap:6px;position:absolute;inset:0;background:linear-gradient(transparent,rgba(0,0,0,.5));text-shadow:0 1px 4px #000}
.video-play .i{width:32px;height:32px;fill:currentColor;stroke:none}
.video-actions{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-top:8px;font-size:12px;color:var(--muted)}
.video-actions a{color:var(--info);text-decoration:none;padding:3px 0}
.video-unavailable{font-size:13px;color:var(--muted)}
.video-lightbox{cursor:default;padding:16px}
.video-viewer{display:flex;flex-direction:column;gap:10px;max-width:min(960px,100%);max-height:94dvh;width:100%}
.video-toolbar{display:flex;align-items:center;gap:10px;color:#fff;flex:none}
.video-toolbar strong{margin-right:auto}
.video-viewer video{display:block;min-height:0;max-width:100%;max-height:calc(94dvh - 100px);object-fit:contain;background:#000;border-radius:8px}
.video-play-error{color:#fff;font-size:13px;margin:0}
.popover{position:absolute;bottom:100%;left:8px;right:8px;margin-bottom:6px;background:var(--panel);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow-lg);max-height:300px;display:flex;flex-direction:column;z-index:20}
.popover .ph-item{display:flex;align-items:center;gap:8px;padding:9px 12px;border-bottom:1px solid var(--line-2);cursor:pointer;font-size:13px}
.popover .ph-item:hover{background:var(--panel-2)}
.popover .ph-item .x{color:var(--faint);opacity:0}
.popover .ph-item:hover .x{opacity:1}
.composer{position:relative}
.sheet-bg{position:fixed;inset:0;background:rgba(0,0,0,.35);z-index:40;animation:fade .15s}
.sheet{position:fixed;left:0;right:0;bottom:0;max-height:88vh;background:var(--panel);border-radius:16px 16px 0 0;z-index:41;display:flex;flex-direction:column;animation:up .2s;padding-bottom:var(--safe-b)}
.sheet .grab{width:36px;height:4px;border-radius:2px;background:var(--line);margin:8px auto 2px}
@keyframes up{from{transform:translateY(30%);opacity:.5}}
@media (min-width:900px){.sheet{left:auto;right:12px;top:12px;bottom:12px;width:360px;max-height:none;border-radius:16px;box-shadow:var(--shadow-lg);animation:slide .2s}.sheet .grab{display:none}}
@keyframes slide{from{transform:translateX(30px);opacity:.5}}

/* ---------- responsive ---------- */
@media (max-width:1279px){
  .shell.with-detail{grid-template-columns:68px 340px minmax(0,1fr)}
  .shell.with-detail .detail-col{display:none}
}
@media (max-width:899px){
  body{overflow:hidden}
  .shell,.shell.with-detail,.shell.wide-main{display:flex;flex-direction:column;height:100%}
  .rail{display:none}
  .shell > .pane{border-right:0;flex:1;min-height:0}
  .shell.chat-open > .list-col{display:none}
  .shell:not(.chat-open) > .chat-col{display:none}
  .shell.chat-open .tabbar{display:none}
.shell:not(.with-detail) > .detail-col{display:none}
  .back{display:inline-flex}
  .tabbar{display:flex;flex:none;background:var(--panel);border-top:1px solid var(--line);padding:4px 0 calc(4px + var(--safe-b))}
  .tabbar button{flex:1 1 20%;min-width:0;min-height:48px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;font-size:11px;color:var(--muted);padding:5px 0;position:relative}
  .tabbar button.on{color:var(--text);font-weight:600}
  .tabbar button .badge{position:absolute;top:0;left:calc(50% + 6px)}
  .pwa-update-prompt{left:12px;right:12px;bottom:calc(64px + var(--safe-b));justify-content:space-between}
  .pane-head{padding-top:calc(12px + var(--safe-t))}
  .chat-head{padding-top:calc(10px + var(--safe-t))}
  .msg{max-width:86%}
  .page-body{padding:0 12px 20px}
  .page > .pane-head,.page-tools{padding-left:12px;padding-right:12px}
  .kpis{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .order-price-grid{grid-template-columns:1fr}
  .kpi{padding:12px}
  .kpi .v{font-size:22px}
  .cards2{grid-template-columns:1fr}
  .lead-row{grid-template-columns:minmax(0,1fr) auto;gap:4px 10px}
  .lead-row .c-item{grid-column:1/-1;order:3;color:var(--muted);font-size:12px}
  .lead-row .c-fu,.lead-row .c-amt{display:none}
  .lead-row.head{display:none}
  .acc-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}
  .page-subtitle{display:none}
  .product-tabs{margin-left:4px}.product-tabs button{padding:0 10px}
  .order-summary{gap:6px}.order-summary>button{padding:10px;display:block}.order-summary b{display:block;font-size:19px;margin-top:3px}.order-summary small{display:block;margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.order-row{padding:12px;gap:10px}.order-meta{gap:4px 8px}.order-side{align-items:flex-end}.modal.order-modal,.modal.refund-modal{max-height:calc(100dvh - 32px);overflow-y:auto}.order-facts{grid-template-columns:70px minmax(0,1fr)}
  .rental-date-grid{grid-template-columns:1fr}.rental-steps{gap:4px}.order-section-head{align-items:flex-start}.refund-verify iframe{height:48dvh}
  .ops-shortcuts{overflow-x:auto;scrollbar-width:none}.ops-shortcuts::-webkit-scrollbar{display:none}.ops-shortcuts .faint{display:none}
  .modal .mf{flex-wrap:wrap}.modal .mf .btn{min-height:42px}
  .good{align-items:flex-start;padding:11px 10px;gap:9px}.good img,.good .ph{width:48px;height:48px}.good>.btn{align-self:center}.good .m.faint{display:none}.good-actions{flex-direction:column;align-items:stretch}.good-actions .btn{white-space:nowrap}
  .compose-hint{display:none}
  .account-settings-modal{max-width:min(720px,calc(100vw - 24px))}.account-settings-body{grid-template-columns:160px minmax(0,1fr)}.account-settings-body>section{padding:20px}.account-settings-body>aside{padding:12px 8px}
}

@media (max-width:599px){
  .acc-grid{grid-template-columns:1fr}.acc-score-row{align-items:stretch}.acc-health-pill{width:104px}.account-settings-modal{max-height:calc(100dvh - 24px);overflow-y:auto}.account-settings-body{display:block;min-height:0}.account-settings-body>aside{position:sticky;top:0;z-index:2;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;padding:8px;overflow:visible;border-right:0;border-bottom:1px solid var(--line-2)}.account-settings-id{display:none}.account-settings-body>aside>button{width:100%;justify-content:flex-start;padding:0 10px}.account-settings-body>section{min-height:390px;padding:18px 16px}.account-settings-head{position:sticky;top:0;z-index:3;background:var(--panel)}
}

@media (max-width:599px){.publish-pace-presets{grid-template-columns:repeat(2,minmax(0,1fr))}.publish-pace-fields{grid-template-columns:1fr}}

/* 会话分类：我买的 / 官方 淡化；红线商品标红 */
.conv.dim>.avatar,.conv.dim>.body{opacity:.55}
.chip.kind-redline{color:var(--bad)}
.chip.kind-buying,.chip.kind-official{color:var(--faint)}

/* 客户标签 */
.chip.tag{background:var(--line-2);color:var(--text);margin-right:4px}
.tag-pick{display:flex;flex-wrap:wrap;gap:8px}
.tag-pick .chip.tag{height:28px;padding:0 12px;font-size:13px;border:1px solid var(--line);background:transparent;color:var(--muted)}
.tag-pick .chip.tag.on{background:var(--accent);border-color:transparent;color:var(--accent-ink)}
.tag-pick .chip.tag.add{border-style:dashed}

/* 商品：可改价的价格带下划线 */
.good .m b.editable{text-decoration:underline dotted;cursor:pointer}

/* 语音消息 */
.voice{display:inline-flex;align-items:center;gap:6px;min-width:64px;padding:0;background:none;border:0;color:inherit;font:inherit;cursor:pointer}
.voice .i{fill:currentColor;stroke:none}
.voice.playing{color:var(--ok)}
.voice.playing .i{animation:voicePulse 1s ease-in-out infinite}
@keyframes voicePulse{50%{opacity:.35}}

/* 我方消息的买家已读状态（和闲鱼 App 一样：未读蓝色、已读灰色） */
.msg .meta .rd{color:var(--faint)}
.msg .meta .rd.un{color:var(--info)}

/* 数据页 */
.stats{display:flex;flex-direction:column;gap:12px;padding-bottom:16px}
.stats .pad{padding:12px 14px}
.stats h3{font-size:14px;font-weight:600;margin:0 0 10px;display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}
.stats h3 .faint{font-size:12px;font-weight:400}
.stats .note{background:var(--warn-soft);color:var(--warn);border-radius:var(--radius-sm);padding:10px 12px;font-size:13px;line-height:1.5}
.stats .ins{margin:0;padding-left:18px;display:flex;flex-direction:column;gap:6px;font-size:13px;line-height:1.55}
.stats .kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.stats .kpi{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:10px 12px;min-width:0}
.stats .kpi .l{font-size:12px;color:var(--muted)}
.stats .kpi .v{font-size:20px;font-weight:700;margin:2px 0;white-space:nowrap}
.stats .kpi .s{font-size:11px;display:flex;gap:6px;flex-wrap:wrap;min-height:15px}
.stats .dt{color:var(--muted)}
.stats .dt.up{color:var(--ok)}
.stats .dt.down{color:var(--bad)}
.stats .trends{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 16px}
.stats .trend .h{display:flex;align-items:baseline;gap:6px;font-size:12px;color:var(--muted)}
.stats .trend .h b{color:var(--text);font-size:15px}
.stats .spark{display:block;width:100%;height:56px;margin-top:2px}
.stats .spark.dated{height:92px}
.stats .grid2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.stats .hb,.stats .fn{display:flex;align-items:center;gap:8px;font-size:13px;margin:6px 0}
.stats .hb .n{width:72px;flex:none;color:var(--muted)}
.stats .fn .n{width:36px;flex:none;color:var(--muted)}
.stats .hb .b,.stats .fn .b{flex:1;height:10px;background:var(--line-2);border-radius:5px;overflow:hidden;min-width:0}
.stats .hb .b i,.stats .fn .b i{display:block;height:100%;background:var(--info);border-radius:5px}
.stats .fn .b i{background:var(--ok)}
.stats .hb .v,.stats .fn .v{width:44px;flex:none;text-align:right;font-variant-numeric:tabular-nums}
.stats .fn .r{width:76px;flex:none;font-size:11px;text-align:right}
.stats .vbars{display:flex;align-items:flex-end;gap:4px;height:110px}
.stats .vb{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;height:100%;gap:4px;min-width:0}
.stats .vb i{display:block;width:100%;background:var(--info);border-radius:3px 3px 0 0;min-height:2px}
.stats .vb span{font-size:10px;color:var(--faint)}
.stats .tbl-wrap{overflow-x:auto;margin:0 -14px;padding:0 14px}
.stats .tbl{width:100%;border-collapse:collapse;font-size:13px;min-width:600px}
.stats .tbl th{font-weight:500;color:var(--muted);font-size:12px;text-align:right;padding:6px 6px;border-bottom:1px solid var(--line)}
.stats .tbl td{text-align:right;padding:7px 6px;border-bottom:1px solid var(--line-2);font-variant-numeric:tabular-nums}
.stats .tbl th:first-child,.stats .tbl td:first-child{text-align:left;max-width:180px}
.stats .filters{padding:0 0 4px}
.stats .foot{font-size:12px;line-height:1.6;padding:0 4px}
@media (max-width:700px){
  .stats .kpis{grid-template-columns:repeat(2,minmax(0,1fr))}
  .stats .trends{grid-template-columns:minmax(0,1fr)}
  .stats .grid2{grid-template-columns:minmax(0,1fr)}
  .stats .kpi .v{font-size:18px}
}
.stats .src{font-size:12px;padding:0 4px;margin-bottom:-4px}
.note-warn{background:var(--warn-soft);color:var(--warn);border-radius:var(--radius-sm);padding:8px 10px;font-size:13px;line-height:1.5}
.share-picker-note{font-size:12px;color:var(--muted);line-height:1.6;margin-bottom:12px}.share-picker-search{display:flex;margin-bottom:10px}.share-customer-list{display:flex;flex-direction:column;gap:7px;max-height:min(420px,50dvh);overflow:auto}.share-customer{display:grid;grid-template-columns:minmax(90px,.7fr) minmax(120px,1fr);gap:3px 12px;width:100%;padding:11px 12px;border:1px solid var(--line);border-radius:9px;background:var(--panel);text-align:left}.share-customer:hover,.share-customer.on{border-color:var(--accent);background:var(--accent-soft)}.share-customer b,.share-customer span,.share-customer small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.share-customer b{font-size:13px}.share-customer span,.share-customer small{font-size:12px;color:var(--muted)}.share-customer small{grid-column:1/-1}

/* ---------- v2.3.7 · 方案一：高效运营台 ---------- */
::selection{background:color-mix(in srgb,var(--accent) 35%,transparent);color:var(--text)}
.pane,.pane.main,.page{background:var(--bg)}
.rail{background:#121415;border-color:var(--line-2)}
.rail .logo{border-radius:12px;box-shadow:0 0 0 1px color-mix(in srgb,var(--accent) 55%,transparent)}
.rail button{border-radius:12px}
.rail button.on{background:var(--accent-soft);color:var(--accent)}
.rail button.on svg{stroke:var(--accent)}
.pane-head{min-height:62px;padding-top:16px;padding-bottom:12px}
.pane-head h2{font-size:20px;letter-spacing:-.02em}
.page > .pane-head{max-width:1160px}
.page-body{padding-bottom:32px}
.page-inner{max-width:1120px}
.btn{border-color:var(--line);background:#1a1c1e;font-weight:600}
.btn:hover{border-color:#45494d;background:#202326}
.btn.primary{box-shadow:0 5px 18px rgba(255,212,59,.12)}
.icon-btn{border:1px solid transparent}
.icon-btn:hover,.icon-btn.on{background:var(--panel-2);border-color:var(--line);color:var(--text)}
.input,.textarea,.select{border-color:var(--line);background:#151718}
.input:focus,.textarea:focus,.select:focus{border-color:color-mix(in srgb,var(--accent) 62%,var(--line));box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 9%,transparent)}
.search .input{background:#141617;border-color:#292c2f}
.search svg.i{color:#696d71}
.product-tabs{gap:2px;padding:3px;background:#202224;border:1px solid #292c2f;border-radius:12px}
.product-tabs button{height:32px;border-radius:9px}
.product-tabs button.on{background:var(--accent);color:var(--accent-ink);box-shadow:0 5px 15px rgba(255,212,59,.13)}
.card{background:var(--panel);border-color:#2a2d30;border-radius:16px;box-shadow:0 10px 32px rgba(0,0,0,.08)}
.card-h{padding:14px 16px;border-color:var(--line-2)}
.filters button{background:#1a1c1e;border:1px solid transparent}
.filters button.on{background:var(--text);border-color:var(--text);color:var(--bg)}
.acc-filter button{background:#141617;border-color:#2a2d30}
.acc-filter button.on{background:#202326;border-color:#60656a;color:var(--text)}
.badge{background:var(--bad);box-shadow:0 0 0 2px var(--panel)}
.chip{background:#24272a;color:var(--muted)}
.chip.acc{background:#1a1c1e;border-color:#303438}
.stage::before{width:5px;height:5px}

/* 消息 */
.list-col{background:#121415}
.list-col .pane-head{background:#121415}
.conv-list{border-top-color:#222527}
.conv{padding:12px 14px;border-bottom-color:#222527;transition:transform .16s ease,background .14s ease}
.conv:hover{background:#191b1d}
.conv.on{background:var(--accent-soft)}
.conv.waiting::before{top:9px;bottom:9px;width:4px;background:var(--accent)}
.conv .name{font-size:14px;font-weight:700}
.conv .l2{color:#a8aaad}
.conv .l3{color:#72767a}
.avatar{background:#24272a;color:#c6c7c8}
.avatar .badge{border-color:#121415}
.chat-head,.composer,.item-strip{background:#141617;border-color:var(--line-2)}
.msgs{background:var(--bg)}
.bubble{background:#1e2123;border-color:#2a2d30}
.msg.self .bubble{background:var(--accent-soft);color:var(--text)}

/* 工作台 */
.work-head{min-height:80px;align-items:center}
.work-greeting{display:flex;flex-direction:column;flex:none;line-height:1.2}
.work-greeting h2{font-size:26px;margin:0;letter-spacing:-.04em}
.work-greeting span{margin-top:7px;font-size:12px;color:var(--muted);white-space:nowrap}
.work-page .kpis{gap:10px;margin:6px 0 18px}
.work-page .kpi{min-height:120px;padding:16px;background:#161819;border-color:#303336;border-radius:14px}
.work-page .kpi:first-child{background:linear-gradient(120deg,#302916 0%,#201d14 100%);border-color:#816c1b}
.work-page .kpi:first-child .k,.work-page .kpi:first-child .v{color:var(--accent)!important}
.work-page .kpi .k{font-size:13px;color:#b7b8ba}
.work-page .kpi .v{margin-top:8px;font-size:31px;line-height:1;font-weight:760;letter-spacing:-.03em}
.work-page .kpi .s{margin-top:12px;font-size:12px;line-height:1.45;color:#84878a}
.work-page .cards2{gap:14px}
.work-page .card{border-radius:18px;background:#141617}
.work-page .card-h{min-height:54px;font-size:16px}
.work-page .card-b{padding:2px 0}
.work-page .li{min-height:58px;padding:10px 16px;border-bottom:1px solid #24272a}
.work-page .li:last-child{border-bottom:0}
.work-page .li .t{font-size:14px;font-weight:700}
.work-page .li .s{margin-top:2px;color:#a0a3a6}
.work-count{color:var(--muted);font-weight:500}
.work-li-side{display:flex;flex-direction:column;align-items:flex-end;gap:3px;min-width:92px;font-size:12px;text-align:right}
.work-li-account{max-width:132px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.work-unread{margin-top:2px;box-shadow:none}
.work-page .funnel{padding:16px}

/* 订单与在线商品 */
.order-summary{gap:10px}
.order-summary>button{background:#161819;border-color:#2e3134;border-radius:14px}
.order-summary>button:hover,.order-summary>button.on{border-color:var(--accent)}
.order-summary>button.on{background:var(--accent-soft);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent) 25%,transparent)}
.order-summary>button.on b{color:var(--accent)}
.ops-shortcuts button{background:#17191b;border-color:#303336;border-radius:10px}
.order-row,.good{border-bottom-color:#25282a}
.order-row:hover,.good:hover{background:#1a1c1e}
.order-title,.good .t{font-weight:700}
.order-account-badge{background:#182744}
.order-list,.good-list{background:#141617}
.status-pill.on{background:var(--ok-soft);color:var(--ok)}
.sel-bar{background:#151718;border-color:#303336}

/* 账号 */
.acc-grid{gap:14px}
.acc-card{padding:16px;gap:12px;background:#151718;border-color:#2b2e31;border-radius:18px;box-shadow:0 12px 34px rgba(0,0,0,.12)}
.acc-card .top{min-height:46px}
.acc-card .nm{font-size:16px}
.xianqi{border-radius:14px;background:#191b1d}
.xianqi.good{background:#14271b}.xianqi.warn{background:#2f2515}.xianqi.bad{background:#321917}
.xianqi-ring:before{background:#151718}
.health{border:1px solid transparent;border-radius:12px}
.health.ok{border-color:#1d4a2e}.health.risk{border-color:#5b441b}.health.relogin{border-color:#5c2521}
.account-channels>div{padding:11px 12px;background:#17191b;border-color:#25282a;border-radius:11px}
.acc-card .acts{padding-top:2px}

/* 商品库：使用更具体的选择器，保留商品库业务代码自己的布局 */
#stockWrap .stock-intro{margin-top:8px}
#stockWrap .stock-stat{background:#161819;border-color:#303336;border-radius:14px}
#stockWrap .stock-stat.on{background:var(--accent-soft);border-color:var(--accent)}
#stockWrap .stock-stat.on strong{color:var(--accent)}
#stockWrap .stock-account{background:#151718;border-color:#2b2e31;border-radius:12px}
#stockWrap .stock-account.manual-only{background:#131516}
#stockWrap .stock-next{padding:0 4px}
#stockWrap .stock-list{background:#141617}
#stockWrap .stock-row{border-bottom-color:#25282a}
#stockWrap .stock-row:hover{background:#1a1c1e}
#stockWrap .stock-thumb{background:#25282a}

/* 弹层与提示 */
.modal{background:#17191b;border:1px solid #303336}
.modal .mf{border-top:1px solid #25282a}
.sheet{background:#17191b;border:1px solid #303336}
.alert{border:1px solid color-mix(in srgb,var(--bad) 22%,transparent)}
.alert.risk{border-color:color-mix(in srgb,var(--warn) 24%,transparent)}
.pwa-update-prompt{background:#17191b}

@media (max-width:899px){
  .pane-head{padding-left:14px;padding-right:14px}
  .page > .pane-head,.page-tools{padding-left:14px;padding-right:14px}
  .page-body{padding:0 12px 24px}
  .tabbar{min-height:62px;padding:4px 0 calc(5px + var(--safe-b));background:#121415;border-color:#292c2f;box-shadow:0 -8px 24px rgba(0,0,0,.14)}
  .tabbar button{min-height:52px;color:#85898d}
  .tabbar button.on{color:var(--accent)}
  .tabbar button.on svg{stroke:var(--accent)}
  .tabbar button .badge{top:2px;box-shadow:0 0 0 2px #121415}
  .work-head{min-height:82px;gap:7px}
  .work-head .product-tabs{margin-left:auto}
  .work-head>.grow{display:none}
  .work-greeting h2{font-size:22px}
  .work-greeting span{font-size:10px;margin-top:5px}
  .work-head .product-tabs button{height:34px;padding:0 10px}
  .work-head .icon-btn{width:34px;height:34px}
  .work-page .kpis{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin-top:4px}
  .work-page .kpi{min-height:122px;padding:13px 10px;border-radius:13px}
  .work-page .kpi .k{font-size:11px;white-space:nowrap}
  .work-page .kpi .v{font-size:27px;margin-top:8px}
  .work-page .kpi .s{font-size:10px;line-height:1.35;margin-top:10px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
  .work-page .card-h{padding:13px 14px}
  .work-page .li{padding:11px 14px}
  .work-page #wWait .avatar.sm,.work-page #wFu .avatar.sm{width:38px;height:38px}
  .conv{padding-left:14px;padding-right:12px}
  .chat-head .wait-head{display:none}
  .order-summary{gap:7px}
  .order-summary>button{padding:11px 10px}
  .acc-card{padding:15px}
  #stockWrap .stock-summary{gap:7px}
  #stockWrap .stock-stat{padding:12px 10px}
}

@media (max-width:370px){
  .work-head{flex-wrap:wrap;height:auto}
  .work-head .product-tabs{order:3;width:100%;margin:2px 0 0}
  .work-head .product-tabs button{flex:1}
  .work-head .icon-btn{margin-left:auto}
  .work-page .kpis{grid-template-columns:repeat(2,minmax(0,1fr))}
  .work-page .kpi{min-height:104px}
}

/* Bounded customer reception and the recorded business direction. */
.sales-status{display:flex;align-items:center;gap:8px;flex-wrap:wrap;color:var(--muted);font-size:12px;padding:4px 0 8px;line-height:1.5}
.sales-status .grow{min-width:160px}
.business-direction{margin-bottom:16px}
.business-direction .card-b{padding:14px 18px}
.business-direction p{margin:0 0 10px;line-height:1.7}
.business-direction p:last-child{margin:10px 0 0;font-size:12px}
.operator-card{margin-bottom:16px;border-color:#2f6b52;background:linear-gradient(145deg,rgba(25,77,57,.28),rgba(18,21,20,.9) 58%)}
.operator-card .card-h{border-bottom-color:rgba(83,184,126,.2)}
.operator-mark{display:grid;place-items:center;width:30px;height:30px;border-radius:10px;color:#74df9d;background:rgba(41,151,88,.18)}
.operator-summary{display:grid;grid-template-columns:repeat(3,minmax(90px,130px)) 1fr;gap:12px;align-items:center;padding:16px 18px;border-bottom:1px solid rgba(83,184,126,.14)}
.operator-summary>div{display:flex;flex-direction:column;gap:2px}.operator-summary b{font-size:24px;line-height:1.1}.operator-summary span{font-size:12px;color:var(--muted)}
.operator-summary p{margin:0;color:var(--muted);font-size:12px;line-height:1.65;text-align:right}
.operator-tasks{padding:4px 14px 10px}.operator-task{display:grid;grid-template-columns:82px minmax(0,1fr) auto;gap:12px;align-items:center;padding:12px 4px;border-bottom:1px solid var(--line);cursor:pointer}
.operator-task:last-child{border-bottom:0}.operator-task:hover{background:rgba(255,255,255,.025)}
.operator-kind{font-size:12px;color:var(--muted);border-left:3px solid var(--line);padding-left:9px}.operator-task.high .operator-kind{border-color:var(--warn);color:var(--warn)}
.operator-task .t{font-weight:650}.operator-task .s{font-size:12px;color:var(--muted);margin-top:4px;line-height:1.5}.operator-task-actions{display:flex;align-items:center;gap:6px}
@media(max-width:760px){.operator-summary{grid-template-columns:repeat(3,1fr)}.operator-summary p{grid-column:1/-1;text-align:left}.operator-task{grid-template-columns:1fr}.operator-kind{width:max-content}.operator-task-actions{justify-content:flex-start;flex-wrap:wrap}}
.business-products{display:flex;gap:8px;flex-wrap:wrap}

.device-code{font-family:ui-monospace,monospace;letter-spacing:3px;font-size:26px;font-weight:700;padding:18px 0;user-select:all;overflow-wrap:anywhere}
.device-code.small{font-size:18px;padding:8px 0;letter-spacing:2px}
.device-entry{padding:16px 0;border-bottom:1px solid var(--line-2)}
.device-meta{font-size:12px;line-height:1.6;overflow-wrap:anywhere;margin-bottom:12px}
.device-entry select{min-width:0;flex:1}.device-entry .row{flex-wrap:wrap}

/* iPhone：账号页严格限制在视口内，避免卡片内容撑出后可左右滑动。 */
@media(max-width:599px){
  .page-body.scroll{overflow-x:hidden}
  .acc-grid{grid-template-columns:minmax(0,1fr);width:100%;max-width:100%}
  .acc-card{width:100%;padding:12px;gap:10px;border-radius:14px;overflow:hidden}
  .acc-card .top{gap:9px}.acc-card .top>.grow,.acc-edit-list .grow{min-width:0}
  .acc-score-row{display:grid;grid-template-columns:minmax(0,1fr) 88px;gap:7px}
  .acc-score-row .xianqi{padding:8px}.acc-score-row .xianqi-ring{width:44px;height:44px}
  .xianqi{gap:9px}.xianqi-title span{display:block;margin:2px 0 0}.xianqi-sub{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .acc-health-pill{width:auto;min-width:0;padding:0 6px;gap:5px;font-size:11px;overflow:hidden;text-overflow:ellipsis}
  .account-channels.compact{grid-template-columns:repeat(2,minmax(0,1fr))}.account-channels.compact>div{padding:8px;min-width:0}.account-channels.compact span,.account-channels.compact b{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .acc-edit-list>button{gap:7px;padding-inline:8px}.acc-edit-icon{width:28px;height:28px}.acc-edit-list .status-pill{max-width:82px;padding-inline:6px}
  .acc-card-foot{min-width:0}.acc-card-foot .btn{padding-inline:8px}
  .account-settings-head{padding-inline:14px}.account-settings-head>div{min-width:0}.account-settings-head span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .account-settings-body>section{min-width:0;padding:16px 12px}.account-settings-form,.account-toggle-row,.account-connection-grid,.account-readonly{min-width:0}
  .account-settings-body>aside>button{min-width:0;padding-inline:8px}.account-settings-body>aside>button span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .account-readonly{grid-template-columns:76px minmax(0,1fr);gap:8px}.account-maintenance .btn{padding-inline:10px}
  .card .li{min-width:0;padding-inline:12px}.card .li>.grow{min-width:0}.card .li .s{overflow-wrap:anywhere}
}
