/* inbox_v2 — page layout; shared tokens and controls come from design-tokens/ui-components. */
/* ─── Design System ─── */


/* ─── Stats ─── */

/* ─── Filters ─── */
.filters { font-size: 13px; }
.filter-btn { display: inline-block; padding: 4px 12px; border-radius:6px; border: 1px solid var(--ui-border); cursor: pointer; font-size: 14px; color: var(--ui-muted); background: #fff; transition:background .15s, border-color .15s; }
.filter-btn:hover { border-color: var(--accent); color: var(--accent); }
.filter-btn.active { background: var(--accent); color: #fff; border-color: var(--accent); }

/* ─── Quick / Adv / Pager (kept from original) ─── */
.quick-btn{padding:4px 10px;border-radius:6px;border:1px solid #e8e8ec;background:#fff;cursor:pointer;font-size:13px;color:#8c8c8c;white-space:nowrap;transition:background .15s, border-color .15s;user-select:none}
.quick-btn:hover{border-color:var(--accent);color:var(--accent)}
.quick-btn.on{background:var(--accent-soft);color:var(--accent);border-color:#9dcebf}
.adv-toggle{font-size:13px;color:var(--accent);cursor:pointer;margin-left:4px;user-select:none}
.adv-panel{display:none;margin-top:8px}
.adv-panel.open{display:block}
.adv-row{display:flex;gap:8px;align-items:center;margin-bottom:6px;flex-wrap:wrap}
.adv-row:last-child{margin-bottom:0}
.adv-label{color:var(--ui-muted);font-size:13px;width:64px;flex-shrink:0;font-weight:650}
.adv-tag{padding:5px 12px;border-radius:999px;border:1.5px solid #c5d4cc;background:var(--ui-soft);cursor:pointer;font-size:13px;font-weight:600;color:var(--ui-muted);transition:background .15s, border-color .15s;user-select:none}
.adv-tag:hover{border-color:var(--accent);color:var(--accent);background:#fff}
.adv-tag.on{background:var(--accent)!important;color:#fff!important;border-color:var(--accent)!important;}
.adv-input{padding:3px 6px;border:1px solid #e8e8ec;border-radius:4px;font-size:13px;width:64px}
.adv-range{display:inline-flex;align-items:center;gap:4px;margin-right:6px;flex-wrap:wrap}
.pg-btn{padding:4px 10px;border:1px solid #e8e8ec;border-radius:6px;background:#fff;cursor:pointer;color:#8c8c8c}
.pg-btn:hover{border-color:var(--accent);color:var(--accent)}

/* 筛选结果数量：吸顶，不用滚到底才看见 */
.inbox-result-bar{position:sticky;top:0;z-index:40;display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:0 0 12px;padding:10px 16px;background:var(--ui-surface);border:1px solid var(--ui-border);border-radius:8px;font-size:14px;}
.inbox-result-bar .rc-total{font-weight:750;color:var(--accent);font-size:14px}
.inbox-result-bar .rc-muted{color:var(--text-muted)}
.inbox-result-bar .rc-archive{display:none;padding:2px 8px;border-radius:999px;background:var(--ui-warning-soft);color:#c2410c;border:1px solid #fed7aa;font-size:13px;font-weight:650}
.inbox-result-bar.archive .rc-archive{display:inline-flex}
body.inbox-archive-mode #recommend-row,
body.inbox-archive-mode #adv-panel,
body.inbox-archive-mode #f2-active-bar,
body.inbox-archive-mode #btn-save-shortcut,
body.inbox-archive-mode #adv-toggle-btn{display:none!important}
body.inbox-archive-mode .f2-chip[data-decision],
body.inbox-archive-mode .f2-chip[data-tmpl]{opacity:.55}

/* Scroll to top/bottom */
.scroll-btn{position:fixed;right:16px;z-index:50;padding:6px 12px;border:1px solid var(--ui-border);border-radius:6px;background:var(--ui-surface);font-size:13px;color:var(--ui-muted);cursor:pointer;}
.scroll-btn:hover{background:var(--accent-soft);color:var(--accent);border-color:var(--accent)}
.scroll-btn.top{top:80px}
.scroll-btn.bot{bottom:80px}

/* ─── Bulk Bar ─── */
.bulk-bar{display:none;align-items:center;gap:10px;padding:10px 16px;background:var(--ui-primary-soft);border-radius:8px;margin-bottom:12px;font-size:14px;border:1px solid var(--ui-border-strong);flex-wrap:wrap;}
.bulk-bar.show{display:flex}
.bulk-btn{padding:4px 10px;border-radius:6px;border:1px solid var(--accent);background:#fff;color:var(--accent);font-size:13px;cursor:pointer}
.bulk-btn.skip{border-color:var(--ui-danger);color:var(--ui-danger)}
.follow-refine-batch-result,.follow-op-result{white-space:pre-wrap;word-break:break-word;margin:0 0 12px;padding:10px 14px;border-radius:8px;border:1px solid #9dcebf;background:#fff;font-size:13px;line-height:1.6;color:var(--text)}
.follow-refine-batch-result[hidden],.follow-op-result[hidden]{display:none}
.follow-op-act{margin:8px 8px 0 0}
.bulk-btn.later{border-color:var(--ui-warning);color:var(--ui-warning)}

/* ─── Card ─── */
.inbox-card{background:var(--ui-surface);border:1px solid var(--ui-border);border-radius:8px;overflow:visible;margin-bottom:12px;position:relative;}
.inbox-card:hover{border-color:var(--ui-border-strong);}
.inbox-card.sel{background:var(--accent-soft);border-color:var(--accent)}
.inbox-card.tier-g{border-color:var(--green)}
.inbox-card.tier-y{border-color:var(--yellow)}
.inbox-card.tier-r{border-color:var(--red)}

.card-check{position:absolute;top:10px;left:10px;width:18px;height:18px;border:2px solid #d9d9d9;border-radius:4px;text-align:center;line-height:14px;font-size:13px;color:transparent;cursor:pointer;z-index:2;background:rgba(255,255,255,.85)}
.inbox-card.sel .card-check{background:var(--accent);border-color:var(--accent);color:#fff}

.card-main{display:flex;padding:8px 10px 4px 10px;gap:10px;align-items:flex-start;overflow:hidden}
.card-img{width:68px;height:68px;border-radius:6px;flex-shrink:0;background:var(--gray-light);display:flex;align-items:center;justify-content:center;font-size:24px;overflow:hidden;margin-top:2px}
.card-img img{width:100%;height:100%;object-fit:cover}
/* Lightbox */
.lightbox-overlay{display:none;position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.75);z-index:9999;align-items:center;justify-content:center}
.lightbox-overlay.show{display:flex}
.lightbox-overlay img{max-width:90vw;max-height:90vh;border-radius:8px;box-shadow:0 8px 32px rgba(0,0,0,.3)}
/* Candidates overlay */
.cand-overlay{display:none;position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.7);z-index:9998;overflow-y:auto}
.cand-overlay.show{display:block}
.cand-panel{max-width:860px;margin:40px auto;background:#fff;border-radius:8px;padding:20px}
.cand-panel h3{font-size:16px;margin-bottom:16px;display:flex;justify-content:space-between}
.cand-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:10px}
.cand-card{background:#fff;border:1px solid var(--ui-border);border-radius:8px;padding:10px;cursor:pointer;transition:background .15s, border-color .15s}
.cand-card:hover{border-color:var(--accent);}
.cand-card.current{border-color:var(--green);background:#f0fdf4}
.cand-card .cand-img{width:100%;height:140px;background:var(--gray-light);border-radius:6px;display:flex;align-items:center;justify-content:center;overflow:hidden;margin-bottom:6px}
.cand-card .cand-img img{width:100%;height:100%;object-fit:contain}
.cand-card .cand-price{font-weight:700;color:var(--accent);font-size:13px}
.cand-card .cand-sim{font-size:13px;color:var(--text-muted)}
.cand-card .cand-title{font-size:13px;color:var(--ui-muted);margin-top:2px;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.cand-card .cand-acts{display:flex;gap:6px;margin-top:8px;flex-wrap:wrap}
.cand-card .cand-acts .pg-btn{font-size:13px;padding:3px 8px}
.cand-badge{display:inline-block;padding:0 5px;border-radius:3px;font-size:13px}.cand-badge.best{background:var(--accent-soft);color:var(--accent)}
.card-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px;justify-content:center;padding-left:2px}
.card-gutter{width:48px;flex-shrink:0;align-self:stretch;cursor:pointer}
.card-title{font-weight:600;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.card-title a{color:var(--text);text-decoration:none}
.card-title a:hover{color:var(--accent)}

/* Actions row — below card body */
.card-act-row{display:flex;gap:4px;padding:4px 10px 8px 10px;flex-wrap:wrap}

/* Row 1: Money */
.money-row{font-size:14px;display:flex;align-items:center;gap:3px;flex-wrap:wrap}
.money-row .arrow{color:var(--text-muted);font-size:13px;flex-shrink:0}
.money-row .sep-dot{color:var(--text-muted);font-size:13px;margin:0 1px}
.price-rub{font-weight:600;color:var(--text)}
.price-cny{color:var(--ui-muted);font-size:14px}
.purchase{font-weight:600;color:var(--accent)}
.shipping{font-weight:600;color:#0891b2}
.profit{font-weight:700}
.profit.good{color:var(--green)}
.profit.okay{color:var(--yellow)}
.profit.bad{color:var(--red)}
.conf-badge{font-size:13px;padding:1px 7px;border-radius:8px;font-weight:600;white-space:nowrap;margin-left:4px}
.conf-badge.good{background:var(--green-bg);color:#065f46}
.conf-badge.okay{background:var(--yellow-bg);color:#92400e}
.conf-badge.bad{background:var(--red-bg);color:#991b1b}
.conf-badge.manual{background:var(--accent-soft);color:var(--accent)}

/* Completeness badge */
.comp-badge{display:inline-block;padding:1px 8px;border-radius:8px;font-size:13px;font-weight:600;margin-left:4px;white-space:nowrap}
.comp-badge.comp-ok{background:var(--green-bg);color:#065f46;border:1px solid var(--green-border)}
.comp-badge.comp-dim,.comp-badge.comp-desc,.comp-badge.comp-oneimg{background:var(--yellow-bg);color:#92400e;border:1px solid var(--yellow-border)}
.comp-badge.comp-dimdesc{background:var(--ui-warning-soft);color:#c2410c;border:1px solid #fed7aa}
.comp-badge.comp-partial{background:var(--yellow-bg);color:#92400e;border:1px solid var(--yellow-border)}
.comp-badge.comp-broken{background:var(--red-bg);color:#991b1b;border:1px solid var(--red-border)}
.source-alert-chip{display:inline-block;margin:0 6px 4px 0;padding:2px 8px;border-radius:8px;font-size:13px;font-weight:600;background:var(--yellow-bg);color:#92400e;border:1px solid var(--yellow-border);cursor:help;vertical-align:middle}
.cand-alert-banner{margin:0 0 12px;padding:10px 12px;background:var(--yellow-bg);border:1px solid var(--yellow-border);border-radius:8px;display:flex;gap:8px;align-items:flex-start;flex-wrap:wrap}
.cand-alert-tip{font-size:13px;color:#92400e;line-height:1.45;flex:1;min-width:120px}

/* Editable inline */
.editable{cursor:pointer;border-bottom:1px dashed var(--text-muted);padding-bottom:1px;transition:background .15s, border-color .15s}
.editable:hover{border-bottom-color:var(--accent);color:var(--accent)}
.editable.manual{border-bottom-style:solid;color:var(--accent);font-weight:700}
.manual-badge{font-size:13px;background:var(--accent-soft);color:var(--accent);padding:0 4px;border-radius:8px;margin-left:2px;font-weight:600;vertical-align:middle}
.edit-icon{font-size:13px;color:var(--text-muted);opacity:.5;cursor:pointer}
.editable:hover .edit-icon{opacity:1;color:var(--accent)}

/* Row 2: Market */
.market-row{font-size:13px;color:var(--ui-muted);display:flex;gap:6px;flex-wrap:nowrap;align-items:center;overflow:hidden}
.market-row .fresh{color:var(--green);font-weight:500}
.market-row .stale{color:var(--yellow);font-weight:500}
.market-row .expired{color:var(--red);font-weight:500}

/* Row 3: Labels */
.label-row{font-size:13px;color:var(--ui-muted);display:flex;gap:8px;flex-wrap:nowrap;align-items:center;overflow:hidden}
.label-row strong{color:var(--text);font-weight:600}
.ai-tag{padding:1px 7px;border-radius:8px;font-weight:600;font-size:13px}
.ai-tag.a{background:#dbeafe;color:#1e40af}
.ai-tag.b{background:#f3e8ff;color:#6b21a8}
.ai-tag.c{background:#fee2e2;color:#991b1b}
.ai-tag.none{background:var(--gray-light);color:var(--text-muted)}
/* ─── C4.1 Card Face ─── */
.grid3{display:grid;grid-template-columns:1.35fr 1fr 1fr;gap:8px;margin-bottom:6px}
.cell{background:var(--ui-soft);border-radius:8px;padding:8px 10px}
.cell .k{font-size:13px;color:var(--text-muted);margin-bottom:2px}
.cell .v{font-size:14px;font-weight:700}
.cell .v.ok{color:var(--green)}.cell .v.bad{color:var(--yellow)}.cell .v.red{color:var(--red)}
.cell .mini{font-size:13px;color:var(--ui-muted);line-height:1.4}
.cell .mini b{color:var(--text);font-weight:600}
.risk{display:flex;flex-wrap:wrap;gap:6px 10px;align-items:center;font-size:14px;margin-bottom:4px}
.risk .item{color:var(--text)}.risk .k{color:var(--text-muted);margin-right:2px}
.risk .hot{font-weight:700;color:var(--green)}.risk .bad{font-weight:700;color:var(--red)}.risk .mid{font-weight:650;color:var(--yellow)}
.idline{font-size:13px;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.idline strong{color:#3a4a43;font-weight:600}
.sku-copy-wrap{display:inline;white-space:nowrap}
.sku-copy-btn{display:inline-block;margin-left:4px;padding:0 5px;border:1px solid var(--ui-border);border-radius:4px;background:#fff;color:var(--ui-muted);font-size:13px;line-height:1.4;cursor:pointer;vertical-align:middle}
.sku-copy-btn:hover{border-color:var(--accent);color:var(--accent)}
.collect-tag{font-size:13px;font-weight:600;padding:1px 6px;border-radius:6px;margin-left:6px;vertical-align:middle}
.collect-tag.today{background:var(--ui-success-soft);color:#047857}
.collect-tag.fresh{background:#f0fdf4;color:#15803d}
.collect-tag.stale{background:var(--ui-warning-soft);color:#b45309}
.collect-tag.expired{background:var(--ui-danger-soft);color:#b91c1c}
.stat-card.clickable{cursor:pointer;transition:box-shadow .15s,border-color .15s}
.stat-card.clickable:hover{border-color:#9dcebf}
.stat-card.clickable.on{border-color:var(--ui-primary);}
/* ─── F2 Filter Bar ─── */
.f2-bar{background:var(--ui-surface);border:1px solid var(--ui-border);border-radius:8px;padding:12px 16px;margin-bottom:12px;}
.f2-row{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin-bottom:8px}.f2-row:last-child{margin-bottom:0}
@media(min-width:900px){.f2-bar{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px 20px}.f2-bar>.f2-row{margin-bottom:0}.f2-bar>.inbox-task-row,.f2-bar>.f2-row:last-child,.f2-bar>#recommend-row:not(.rec-folded){grid-column:1/-1}}
.f2-lbl{font-size:13px;color:var(--text-muted);width:48px;flex-shrink:0}
.f2-chip{border:1px solid var(--ui-border);background:#fff;border-radius:6px;padding:5px 10px;font-size:14px;cursor:pointer;user-select:none;transition:background .15s, border-color .15s;white-space:nowrap}
.f2-chip:hover{border-color:var(--accent)}
.f2-chip.on{background:var(--accent);color:#fff;border-color:var(--accent)}
.f2-chip.soft{background:var(--accent-soft);color:var(--accent);border-color:#9dcebf}
.f2-chip.weak{opacity:.72;font-size:13px;padding:4px 8px}
.f2-chip.mine{border-style:solid;background:#eef6f2;color:var(--accent);border-color:#9dcebf;font-weight:650}
.f2-chip.mine.soft{background:#eef6f2;color:var(--accent);border-color:#9dcebf;border-style:solid;opacity:.92}
.f2-chip.mine.on,.f2-chip.mine.on.soft{
  background:var(--accent)!important;color:#fff!important;border-color:var(--accent)!important;
  border-style:solid!important;font-weight:700;opacity:1
}
.f2-chip.weak.on{opacity:1;background:var(--ui-warning-soft);color:#c2410c;border-color:#fdba74;font-weight:700;}
.f2-sep{width:1px;height:16px;background:var(--ui-border);margin:0 2px}
.f2-btn{border:1px solid var(--ui-border);background:#fff;border-radius:6px;padding:5px 10px;font-size:14px;font-weight:600;cursor:pointer;white-space:nowrap;text-decoration:none;color:var(--text)}
.f2-btn:hover{background:var(--gray-light)}
.f2-btn.link{border:none;background:transparent;color:var(--accent)}
.f2-btn.primary{background:var(--accent);color:#fff;border-color:var(--accent)}
.f2-btn.primary:hover{filter:brightness(1.05);background:var(--accent);color:#fff}
.tools-cluster{display:inline-flex;flex-wrap:wrap;gap:6px;align-items:center;margin-left:auto}
.tools-divider{width:1px;height:22px;background:var(--ui-border);margin:0 2px}
.menu-wrap{position:relative;display:inline-block}
.enrich-menu{position:absolute;right:0;top:calc(100% + 6px);min-width:300px;background:#fff;border:1px solid var(--ui-border);border-radius:8px;box-shadow:0 12px 32px rgba(20,32,28,.16);padding:8px;z-index:40;overflow:visible}
.enrich-menu[hidden]{display:none!important}
.enrich-block{display:block}
.enrich-sep{height:1px;background:var(--ui-border);margin:6px 4px}
.enrich-menu button.enrich-act{display:block;width:100%;text-align:left;border:0;background:transparent;padding:10px 12px;border-radius:6px;cursor:pointer;font-size:14px;font-weight:600;color:var(--text);box-sizing:border-box}
.enrich-menu button.enrich-act:hover{background:var(--accent-soft);color:var(--accent)}
.enrich-menu .sub{display:block;font-size:13px;color:var(--text-muted);font-weight:400;margin-top:2px;line-height:1.35}
.enrich-menu .enrich-opt{display:flex;align-items:center;gap:6px;padding:2px 12px 8px 28px;font-size:13px;color:#666;font-weight:500;cursor:pointer}
#recommend-row.rec-folded .rec-chips{display:none}
#recommend-row.rec-folded #btn-expand-recommend{display:inline-flex}
#recommend-row.rec-open .rec-chips{display:contents}
#recommend-row.rec-open #btn-expand-recommend{display:none}
#recommend-row.rec-open #btn-hide-recommend{display:none}
#btn-expand-recommend{display:none}
#adv-toggle-btn.has-on,#adv-toggle-btn.open-on{color:#fff;background:var(--accent);border:1px solid var(--accent);border-radius:6px;padding:5px 10px;font-weight:700}
#more-adv{display:none;margin-top:8px;padding-top:8px;border-top:1px dashed var(--ui-border)}
#more-adv.open{display:block}
.f2-btn:disabled{opacity:.45;cursor:not-allowed}
.sc-modal-overlay{display:none;position:fixed;inset:0;background:rgba(20,32,28,.45);z-index:1200;align-items:center;justify-content:center;padding:16px}
.sc-modal-overlay.show{display:flex}
.sc-modal{background:#fff;border-radius:8px;max-width:440px;width:100%;max-height:80vh;overflow:auto;padding:18px 18px 14px;box-shadow:0 12px 40px rgba(0,0,0,.18)}
.sc-modal h3{margin:0 0 8px;font-size:16px}
.sc-modal .hint{font-size:14px;color:var(--text-muted);margin-bottom:12px;line-height:1.45}
.sc-item{display:flex;align-items:center;gap:8px;padding:10px 0;border-bottom:1px solid #eef1ee}
.sc-item:last-child{border-bottom:0}
.sc-item .name{flex:1;font-size:13px;font-weight:600}
.sc-item .sc-act{border:1px solid var(--ui-border);background:#fff;border-radius:8px;padding:4px 8px;font-size:13px;cursor:pointer;color:var(--ui-muted)}
.sc-item .sc-act.danger{color:#b91c1c;border-color:#fecaca;background:var(--ui-danger-soft)}
.sc-empty{padding:20px 0;text-align:center;color:var(--text-muted);font-size:13px}
.f2-active-bar{display:none;align-items:center;flex-wrap:wrap;gap:6px;margin:-2px 0 10px;padding:8px 12px;background:var(--ui-primary-soft);border:1px solid #9dcebf;border-radius:8px;font-size:14px}
.f2-active-bar.show{display:flex}
.f2-active-bar .lab{color:var(--accent);margin-right:2px;font-weight:700}
.f2-active-pill{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border-radius:999px;background:var(--accent);border:1px solid var(--accent);color:#fff;font-weight:650;font-size:13px}
.f2-active-pill button{border:none;background:transparent;cursor:pointer;color:rgba(255,255,255,.85);font-size:14px;padding:0 2px;line-height:1}
.f2-active-bar .hint{margin-left:auto;color:var(--text-muted);font-size:13px}
.score-loading{display:inline-block;width:12px;height:12px;border:2px solid #9dcebf;border-top-color:var(--accent);border-radius:50%;animation:spin .6s linear infinite;vertical-align:middle;margin-left:4px}
@keyframes spin{to{transform:rotate(360deg)}}

/* Actions */
.card-act{display:flex;gap:6px;flex-shrink:0;padding-top:4px}
.a-btn{padding:3px 8px;border:1px solid var(--ui-border);border-radius:5px;font-size:13px;cursor:pointer;background:#fff;color:var(--text);font-weight:500;white-space:nowrap}
.a-btn:hover{background:var(--gray-light)}
.a-btn.primary{background:var(--accent);color:#fff;border-color:var(--accent)}
.a-btn.primary:hover{background:#0b5c47}
.a-btn.ghost{border:none;background:none;color:var(--text-muted);padding:4px 6px}
.a-btn.match{background:#fef3c7;color:#92400e;border-color:#fde68a}

/* Expand */
.card-expand{display:none;border-top:1px solid var(--ui-border);padding:14px;background:#fafafa;overflow:hidden}
.card-expand.open{display:block}
.expand-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;grid-auto-flow:dense}
@media(max-width:640px){.expand-grid{grid-template-columns:1fr}}
.detail-box{background:#fff;border:1px solid var(--ui-border);border-radius:8px;padding:12px;font-size:13px}
.detail-box h4{font-size:13px;text-transform:uppercase;color:var(--text-muted);margin-bottom:8px;letter-spacing:.8px;font-weight:600}

/* Persist note */
.persist-note{background:var(--accent-soft);border:1px solid #9dcebf;border-radius:6px;padding:6px 10px;color:var(--accent);margin-bottom:10px;font-size:14px}
.persist-note.hint{background:#fef3c7;border-color:#fde68a;color:#92400e}

/* Profit receipt */
.receipt .line{display:flex;justify-content:space-between;padding:2px 0;font-size:14px;color:var(--ui-muted)}
.receipt .line.total{font-weight:600;border-top:1px dashed var(--ui-border);padding-top:4px;margin-top:4px;color:var(--text)}

/* Data quality */
.quality-item{display:flex;align-items:baseline;gap:6px;margin-bottom:6px;font-size:14px}
.quality-item strong{color:var(--text);font-weight:600}

/* CEL shipping */
.cel-inp-row{display:flex;gap:6px;align-items:center;margin-bottom:6px;flex-wrap:wrap}
.cel-inp-row label{font-size:13px;color:var(--text-muted);white-space:nowrap;margin-right:1px}
.cel-inp{width:50px;padding:3px 5px;border:1px solid var(--ui-border);border-radius:4px;font-size:13px;text-align:right}
.cel-inp.wide{width:80px}
.cel-inp:focus{outline:none;border-color:var(--accent);}
/* Remove number input spinners */
input[type=number]::-webkit-outer-spin-button,input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
input[type=number]{-moz-appearance:textfield}
.cel-vol-calc{color:var(--ui-muted);margin-bottom:3px;font-size:13px}
.cel-vol-calc strong{color:var(--text)}
.cel-charge{margin-bottom:2px;font-size:14px}
.cel-charge strong{color:#dc2626}
.cel-charge strong.real{color:var(--text)}
.cel-channel-badge{display:inline-block;padding:1px 6px;border-radius:3px;font-size:13px;font-weight:600;margin-left:3px}
.cel-channel-badge.standard{background:#d1fae5;color:#065f46}
.cel-channel-badge.express{background:#dbeafe;color:#1e40af}
.cel-channel-badge.economy{background:#ffedd5;color:#9a3412}
.cel-metrics{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:4px}
.cel-metric{text-align:center}
.cel-metric .val{font-size:16px;font-weight:700}
.cel-metric .val.cost{color:var(--accent)}
.cel-metric .lbl{font-size:13px;color:var(--text-muted)}
.cel-note{font-size:13px;color:var(--text-muted);margin-top:2px}
.cel-table{width:100%;border-collapse:collapse;font-size:13px;margin-top:4px}
.cel-table th{text-align:left;padding:3px 6px;color:var(--text-muted);font-weight:500;border-bottom:1px solid var(--ui-border);font-size:13px}
.cel-table td{padding:3px 6px;border-bottom:1px solid #f3f4f6}
.cel-table tr.best{background:#f0fdf4}
.cel-table tr.cel-pref-row{background:#eef2ff}
.cel-toggle{font-size:13px;color:var(--accent);cursor:pointer;margin-top:4px;display:inline-block}

/* 1688 match */
.match-images{display:flex;align-items:center;gap:10px;margin-bottom:8px}
.match-img{width:90px;height:90px;border-radius:6px;background:var(--gray-light);display:flex;align-items:center;justify-content:center;font-size:24px;overflow:hidden;flex-shrink:0}
.match-img img{width:100%;height:100%;object-fit:contain}
.match-arrow{font-size:18px;color:var(--text-muted);flex-shrink:0}
.match-sim{font-weight:600;font-size:14px;margin-bottom:2px}
.match-sim.good{color:var(--green)}
.match-sim.okay{color:var(--yellow)}
.match-sim.bad{color:var(--red)}
.match-sim.none{color:var(--red)}
.match-link{font-size:13px;color:var(--accent)}
.anomaly-warn{padding:6px 10px;border-radius:6px;font-size:14px;margin-bottom:8px}
.anomaly-warn.good{background:var(--green-bg);color:#065f46}
.anomaly-warn.okay{background:var(--yellow-bg);color:#92400e}
.anomaly-warn.bad{background:var(--red-bg);color:#991b1b}
.match-info{font-size:14px;color:var(--ui-muted)}
.domestic-ship{margin-bottom:4px}
.domestic-ship input{padding:2px 6px;border:1px solid var(--ui-border);border-radius:4px;font-size:14px;width:60px;text-align:right}

/* 换图匹配面板：左选图/框选，右候选 */
.mip-overlay{display:none;position:fixed;inset:0;background:rgba(20,32,28,.45);z-index:1200;align-items:center;justify-content:center;padding:16px}
.mip-overlay.show{display:flex}
.mip-panel{background:#fff;border-radius:8px;width:min(1100px,96vw);max-height:92vh;overflow:auto;padding:16px 18px;}
.mip-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px}
.mip-head h3{margin:0;font-size:15px}
.mip-body{display:flex;gap:16px;align-items:stretch;min-height:420px}
.mip-left{flex:0 0 min(46%,420px);min-width:280px;display:flex;flex-direction:column}
.mip-right{flex:1;min-width:260px;display:flex;flex-direction:column;border-left:1px solid var(--ui-border);padding-left:16px}
.mip-right h4{margin:0 0 8px;font-size:14px;display:flex;align-items:center;gap:8px}
.mip-thumbs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:8px;max-height:148px;overflow:auto}
.mip-thumb{width:56px;height:56px;border-radius:8px;border:2px solid var(--ui-border);overflow:hidden;cursor:pointer;background:#f3f4f6;flex-shrink:0}
.mip-thumb img{width:100%;height:100%;object-fit:cover}
.mip-thumb.on{border-color:var(--accent);}
.mip-stage{position:relative;width:auto;max-width:100%;height:auto;min-height:120px;background:var(--ui-bg);border-radius:8px;overflow:hidden;touch-action:none;flex-shrink:0;align-self:flex-start}
.mip-stage-inner{position:absolute;left:0;top:0;transform-origin:0 0}
.mip-stage-inner img{display:block;max-width:none;user-select:none;pointer-events:none}
.mip-sel{position:absolute;border:2px solid #34d399;background:rgba(52,211,153,.18);pointer-events:none}
.mip-tools{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px;align-items:center;font-size:14px;color:var(--ui-muted)}
.mip-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px;align-items:center}
.mip-hint{font-size:13px;color:var(--text-muted);margin-top:4px}
.mip-stage.crop-on{cursor:crosshair}
.mip-stage.crop-on::after{content:'按住拖动框选主体';position:absolute;left:10px;top:10px;z-index:2;background:rgba(15,110,86,.88);color:#fff;font-size:13px;padding:4px 8px;border-radius:6px;pointer-events:none}
.mip-mode-btn.on{background:var(--accent);color:#fff;border-color:var(--accent)}
.mip-result-banner{display:none;padding:8px 10px;border-radius:8px;font-size:14px;margin-bottom:10px}
.mip-result-banner.show{display:block}
.mip-result-banner.ok{background:var(--ui-success-soft);color:#065f46}
.mip-result-banner.same{background:var(--ui-warning-soft);color:#92400e}
.mip-cand-empty{flex:1;display:flex;align-items:center;justify-content:center;text-align:center;color:var(--text-muted);font-size:13px;padding:24px;background:var(--ui-soft);border-radius:8px;border:1px dashed var(--ui-border)}
.mip-cand-empty.hide{display:none}
.mip-right .cand-grid{flex:1;overflow:auto;max-height:min(70vh,560px);align-content:start}
.mip-right .cand-card{cursor:pointer}
@media (max-width:820px){
  .mip-body{flex-direction:column}
  .mip-left{flex:none;width:100%;min-width:0}
  .mip-right{border-left:none;padding-left:0;border-top:1px solid var(--ui-border);padding-top:12px}
}

/* Field row (used in old detail, keep for compatibility) */
.field-row{display:flex;gap:18px;flex-wrap:wrap;margin-bottom:6px;color:var(--ui-muted);font-size:14px}
.field-row strong{color:var(--text);font-weight:600}

.inbox-mode-row,.inbox-task-row{min-height:38px}.f2-bar select,.f2-bar input{min-height:32px}.f2-bar button{font-family:inherit}.f2-row{row-gap:8px}.inbox-card .card-title{white-space:normal;overflow-wrap:anywhere}.inbox-card .tier-tag{font-weight:600}
@media(max-width:760px){.bulk-bar{align-items:flex-start}.f2-bar{padding:12px}.f2-row>input{max-width:100%}}
