
/* ── 字体 ── */
/* ── 主题变量（浅色主题） ── */
:root {
  --bg: #f0f2f5;
  --bg2: #ffffff;
  --bg3: #f5f6f8;
  --bg4: #e8eaed;
  --border: #dde1e7;
  --border2: #eaecf0;
  --text: #1a1d23;
  --text2: #4a5568;
  --text3: #8a96a8;
  --accent: #7c3aed;
  --accent2: #6d28d9;
  --accent-dim: rgba(124,58,237,.1);
  --blue: #2563eb;
  --blue-dim: rgba(37,99,235,.1);
  --green: #16a34a;
  --green-dim: rgba(22,163,74,.1);
  --danger: #dc2626;
  --danger-dim: rgba(220,38,38,.1);
  --orange: #ea580c;
  --orange-dim: rgba(234,88,12,.1);
  --red: #dc2626;
  --red-dim: rgba(220,38,38,.1);
  --purple: #7c3aed;
  --yellow: #d97706;
  --radius: 6px;
  --radius2: 10px;
  --shadow: 0 2px 12px rgba(0,0,0,.08);
  --mono: 'IBM Plex Mono', monospace;
  --sans: 'Noto Sans SC', 'PingFang SC', system-ui, sans-serif;
  --sidebar-w: 200px;
  --header-h: 52px;
}

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html,body{min-height:100%;background:var(--bg);color:var(--text);font-family:var(--sans);font-size:14px;line-height:1.6;overflow-x:hidden;overflow-y:auto;display:flex;flex-direction:column;scrollbar-width:thin;scrollbar-color:var(--accent) transparent}
*{scrollbar-width:thin;scrollbar-color:var(--accent) transparent}
::-webkit-scrollbar{width:8px;height:8px}
::-webkit-scrollbar-track{background:transparent}
::-webkit-scrollbar-thumb{background:linear-gradient(180deg,var(--accent),var(--blue));border:2px solid transparent;border-radius:999px;background-clip:padding-box}
::-webkit-scrollbar-thumb:hover{background:linear-gradient(180deg,var(--accent2),var(--blue));background-clip:padding-box}
::-webkit-scrollbar-corner{background:transparent}

a{color:var(--blue);text-decoration:none}
button{cursor:pointer;border:none;outline:none;font-family:var(--sans)}
input,select,textarea{font-family:var(--sans);font-size:14px;outline:none;background:var(--bg3);border:1px solid var(--border);color:var(--text);border-radius:var(--radius)}
input:focus,select:focus,textarea:focus{border-color:var(--blue)}

/* ── 布局 ── */
#app{display:flex;flex:1;min-height:0;overflow:visible}

/* ── 侧边栏 ── */
#sidebar{
  width:var(--sidebar-w);flex-shrink:0;
  background:var(--bg2);border-right:1px solid var(--border);
  display:flex;flex-direction:column;overflow:visible;
}
.sidebar-logo{
  height:var(--header-h);padding:0 16px;
  display:flex;align-items:center;gap:10px;
  border-bottom:1px solid var(--border);
  flex-shrink:0;
}
.logo-icon{
  width:28px;height:28px;border-radius:6px;
  display:flex;align-items:center;justify-content:center;
  flex-shrink:0;overflow:hidden;
}
.logo-text{font-size:13px;font-weight:700;color:var(--text);letter-spacing:.5px}
.logo-ver{font-size:10px;color:var(--text3);font-family:var(--mono);letter-spacing:.5px}

.sidebar-nav{flex:0 0 auto;overflow:visible;padding:8px 0}
.nav-section{padding:12px 12px 4px;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:1px;color:#64748b}
.nav-item{
  display:flex;align-items:center;gap:10px;
  padding:7px 16px;cursor:pointer;
  font-size:13px;font-weight:600;color:#334155;
  border-radius:0;transition:all .15s;
  border-left:3px solid transparent;
  white-space:nowrap;
}
.nav-item:hover{color:#1e293b;background:#eef2ff}
.nav-item.active{color:var(--accent);background:var(--accent-dim);border-left-color:var(--accent);font-weight:800}
.nav-item .nav-icon{
  width:24px;height:24px;border-radius:7px;
  display:grid;place-items:center;flex:0 0 24px;
}
.nav-item .nav-icon svg{width:16px;height:16px;stroke-width:2.35}
.nav-item.active .nav-icon{color:#fff;background:var(--accent);box-shadow:0 2px 6px var(--accent-dim)}
.nav-icon.c-blue{color:#2563eb;background:#dbeafe}
.nav-icon.c-cyan{color:#0891b2;background:#cffafe}
.nav-icon.c-green{color:#059669;background:#d1fae5}
.nav-icon.c-orange{color:#ea580c;background:#ffedd5}
.nav-icon.c-purple{color:#7c3aed;background:#ede9fe}
.nav-icon.c-pink{color:#db2777;background:#fce7f3}
.nav-icon.c-rose{color:#e11d48;background:#ffe4e6}
.nav-icon.c-yellow{color:#b45309;background:#fef3c7}
.nav-icon.c-slate{color:#475569;background:#e2e8f0}
.nav-icon.c-indigo{color:#4f46e5;background:#e0e7ff}
.nav-badge{
  margin-left:auto;padding:1px 6px;
  background:var(--bg4);border-radius:10px;
  font-size:10px;font-family:var(--mono);color:var(--text3);
}

.sidebar-footer{
  border-top:1px solid var(--border);padding:12px 16px;
  font-size:11px;color:var(--text3);
}
.status-dot{width:6px;height:6px;border-radius:50%;background:var(--accent);display:inline-block;margin-right:6px;box-shadow:0 0 6px var(--accent)}

/* ── 主内容区 ── */
#main{flex:1;display:flex;flex-direction:column;min-width:0;overflow:hidden}

/* ── 顶栏 ── */
#topbar{
  height:var(--header-h);flex-shrink:0;
  background:var(--bg2);border-bottom:1px solid var(--border);
  display:flex;align-items:center;padding:0 20px;gap:12px;
}
.topbar-title{font-size:16px;font-weight:700;color:var(--text);flex:1}
.topbar-title small{font-size:12px;font-weight:400;color:var(--text3);margin-left:8px;font-family:var(--mono)}
.topbar-actions{display:flex;align-items:center;gap:8px}
.order-more-wrap{position:relative;display:inline-flex;align-items:center}
.order-more-menu{
  display:none;position:absolute;right:0;top:calc(100% + 6px);z-index:1200;
  min-width:220px;padding:8px;background:var(--bg2);border:1px solid var(--border2);
  border-radius:8px;box-shadow:0 10px 24px rgba(15,23,42,.18)
}
.order-more-wrap.open .order-more-menu{display:flex;flex-direction:column;gap:6px}
.order-more-menu .btn{width:100%;justify-content:flex-start}
.order-more-section{padding:4px 2px 7px;border-bottom:1px solid var(--border2)}
.order-more-section:last-child{padding-bottom:2px;border-bottom:0}
.order-more-section-title{font-size:10px;font-weight:700;letter-spacing:.6px;color:var(--text3);margin:0 3px 6px}
.order-sync-inline{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:7px;align-items:end}
.order-sync-input-row{display:flex;align-items:center;gap:5px;min-width:0}
.order-sync-input-row .form-input{width:70px!important;min-width:0;height:30px}
.order-sync-inline>.btn{width:auto;min-height:30px;justify-content:center}
.order-sync-presets{display:flex;gap:5px;flex-wrap:wrap;margin-top:6px}
.order-sync-presets .btn{width:auto;padding:3px 8px;justify-content:center}
.card.order-filter-card{
  position:relative;z-index:20;margin-bottom:14px;overflow:visible
}
.order-filter-toolbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:10px 12px}
.order-filter-toolbar .form-input{
  height:34px;min-height:34px;padding:6px 10px;line-height:20px
}
.order-filter-toolbar select.form-input{padding-right:30px}
.order-filter-search{flex:1 1 150px;max-width:190px;min-width:130px}
.order-date-wrap{position:relative;display:inline-flex}
.order-date-wrap>.btn{min-height:34px}
.order-filter-evidence-actions{margin-left:auto;display:flex;align-items:center;justify-content:flex-end}
.order-settlement-evidence-btn{min-height:34px;white-space:nowrap}
.order-settlement-evidence-btn .order-evidence-dot{width:7px;height:7px;border-radius:50%;background:var(--text3);flex:0 0 7px}
.order-settlement-evidence-btn.is-ready{color:var(--green);border-color:var(--green);background:var(--green-dim)}
.order-settlement-evidence-btn.is-ready .order-evidence-dot{background:var(--green)}
.order-settlement-evidence-btn.is-missing{color:var(--orange);border-color:var(--orange);background:var(--orange-dim)}
.order-settlement-evidence-btn.is-missing .order-evidence-dot{background:var(--orange)}
.order-settlement-evidence-btn.is-error{color:var(--red);border-color:var(--red);background:var(--red-dim)}
.order-settlement-evidence-btn.is-error .order-evidence-dot{background:var(--red)}
.order-date-menu{
  display:none;position:absolute;right:0;top:calc(100% + 6px);z-index:1180;
  width:330px;padding:12px;background:var(--bg2);border:1px solid var(--border2);
  border-radius:9px;box-shadow:0 12px 28px rgba(15,23,42,.18)
}
.order-date-wrap.open .order-date-menu{display:block}
.order-date-presets{display:flex;gap:5px;flex-wrap:wrap;margin-bottom:10px}
.order-date-presets .btn{padding:4px 8px}
.order-date-range{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:7px}
.order-date-range .form-input{width:100%!important;min-width:0}
.order-date-actions{display:flex;justify-content:flex-end;gap:7px;margin-top:11px}
.order-platform-stats-controls{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin-bottom:12px}
.order-platform-stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(145px,1fr));gap:8px;margin-bottom:12px}
.order-platform-stat-metric{padding:10px 12px;border:1px solid var(--border);border-radius:8px;background:var(--bg2)}
.order-platform-stat-metric-label{font-size:11px;color:var(--text3)}
.order-platform-stat-metric-value{font-size:22px;font-weight:800;font-family:var(--mono);margin-top:3px}
.order-platform-stat-table tbody tr{cursor:pointer}
.order-platform-stat-table tbody tr.is-selected{background:var(--accent-dim)}
.order-platform-chart-legend{display:flex;gap:8px;flex-wrap:wrap;margin-top:7px}
.order-platform-chart-legend span{font-size:11px;color:var(--text2);display:inline-flex;align-items:center;gap:4px}
@media (max-width:900px){
  .order-filter-search{max-width:none;flex:1 1 180px}
  .order-date-menu{position:fixed;left:12px;right:12px;top:74px;width:auto}
  .order-filter-evidence-actions{flex:1 0 100%;margin-left:0}
}
.shop-actions-dropdown{position:relative;display:inline-flex;align-items:center}
.shop-actions-menu{
  display:none;position:absolute;right:0;top:calc(100% + 6px);z-index:1200;
  min-width:126px;padding:6px;background:var(--bg2);border:1px solid var(--border2);
  border-radius:8px;box-shadow:0 10px 24px rgba(15,23,42,.18)
}
.shop-actions-dropdown.open .shop-actions-menu{display:flex;flex-direction:column;gap:4px}
.shop-actions-menu .btn{width:100%;justify-content:flex-start}
.table-wrap tbody tr:nth-last-child(-n+4) .shop-actions-menu{top:auto;bottom:calc(100% + 6px)}

/* ── 内容面板 ── */
#content{flex:1;overflow-y:auto;padding:20px}

/* ── 按钮系统 ── */
.btn{
  display:inline-flex;align-items:center;gap:6px;
  padding:6px 14px;border-radius:var(--radius);
  font-size:13px;font-weight:500;transition:all .15s;
  white-space:nowrap;
}
.btn-primary{background:var(--accent2);color:#fff;border:1px solid var(--accent)}
.btn-primary:hover{background:var(--accent);filter:brightness(1.1)}
.btn-default{background:var(--bg3);color:var(--text);border:1px solid var(--border)}
.btn-default:hover{background:var(--bg4);border-color:var(--text3)}
.btn-danger{background:var(--red-dim);color:var(--red);border:1px solid var(--red)}
.btn-danger:hover{background:var(--red);color:#fff}
.btn-blue{background:var(--blue-dim);color:var(--blue);border:1px solid var(--blue)}
.btn-blue:hover{background:var(--blue);color:#fff}
.btn-orange{background:var(--orange-dim);color:var(--orange);border:1px solid var(--orange)}
.btn-orange:hover{background:var(--orange);color:#fff}
.btn-sm{padding:4px 10px;font-size:12px}
.btn-icon{width:30px;height:30px;padding:0;justify-content:center;font-size:15px}
.btn:disabled{opacity:.5;cursor:not-allowed}
.export-actions{display:flex;align-items:center;gap:6px;flex-wrap:wrap;max-width:360px}
.export-action-error{
  flex:0 0 100%;max-width:340px;margin-top:4px;
  color:var(--red);font-size:11px;line-height:1.45;
  white-space:normal;word-break:break-word;overflow-wrap:anywhere;
}
.btn-walmart-submit{
  background:#16a34a!important;border:1px solid #15803d!important;color:#fff!important;
  box-shadow:0 1px 2px rgba(21,128,61,.22)
}
.btn-walmart-submit:hover{background:#15803d!important;border-color:#166534!important;color:#fff!important}
.btn-walmart-submit:disabled{background:#16a34a!important;border-color:#15803d!important;color:#fff!important;opacity:.68}

/* ── 卡片 ── */
.card{background:var(--bg2);border:1px solid var(--border);border-radius:var(--radius2);overflow:hidden}
.card-header{padding:14px 18px;border-bottom:1px solid var(--border2);display:flex;align-items:center;gap:10px}
.card-title{font-size:14px;font-weight:700;color:var(--text)}
.card-actions{margin-left:auto;display:flex;gap:8px}
.card-body{padding:18px}

/* ── 统计卡片 ── */
.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;margin-bottom:20px}
.stat-card{
  background:var(--bg2);border:1px solid var(--border);border-radius:var(--radius2);
  padding:16px 18px;transition:border-color .2s;
}
.stat-card:hover{border-color:var(--border2)}
.stat-label{font-size:11px;color:var(--text3);text-transform:uppercase;letter-spacing:.8px;margin-bottom:8px}
.stat-value{font-size:26px;font-weight:700;font-family:var(--mono);color:var(--text)}
.stat-sub{font-size:11px;color:var(--text3);margin-top:4px}
.order-day-stat{margin-top:6px;font-size:10px;color:var(--text3);line-height:1.35}
.order-day-stat-date{margin-bottom:5px;white-space:nowrap}
.order-day-stat-table{
  display:grid;grid-template-columns:2.5em 6.2ch minmax(6.2ch,1fr);
  column-gap:6px;row-gap:2px;align-items:center;
}
.order-day-stat-table.order-day-stat-table-money{grid-template-columns:2.5em 6.2ch minmax(10.2ch,1fr)}
.order-day-stat-table.order-day-stat-table-wide-money{grid-template-columns:2.5em minmax(10.2ch,1fr) minmax(10.2ch,1fr)}
.order-day-stat-table.order-day-stat-table-wide-money.order-day-stat-table-cdiscount-sales{width:max-content;grid-template-columns:3em 11ch 11ch}
.order-day-stat-table.order-day-stat-table-4{grid-template-columns:2.5em 5.2ch 5.2ch minmax(6.5ch,1fr)}
.order-day-stat-table.order-day-stat-table-2{grid-template-columns:2.5em minmax(6.2ch,1fr)}
.order-day-stat-table.order-day-stat-table-2.order-day-stat-table-money{grid-template-columns:2.5em minmax(10.2ch,1fr)}
.order-day-stat-table.order-day-stat-table-compact{
  width:max-content;font-family:var(--mono);
  grid-template-columns:3em 3em 6ch;
}
.order-day-stat-table.order-day-stat-table-compact.order-day-stat-table-money{grid-template-columns:3em 3em 10.2ch}
.order-day-stat-table.order-day-stat-table-compact.order-day-stat-table-compact-open{grid-template-columns:3em 3em}
.order-day-stat-table.order-day-stat-table-compact.order-day-stat-table-compact-average{grid-template-columns:3em 7ch}
.order-day-stat-table.order-day-stat-table-compact .order-day-stat-head,
.order-day-stat-table.order-day-stat-table-compact .order-day-stat-name{font-family:var(--sans)}
.order-day-stat-table span{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.order-day-stat-head{font-size:10px;color:var(--text3);border-bottom:1px solid var(--border2);padding-bottom:2px}
.order-day-stat-name{color:var(--text3)}
.order-day-stat-num,.order-day-stat-money{font-family:var(--mono);text-align:right;color:var(--text2)}
.order-day-stat-total{font-weight:700;color:var(--text)}
.order-stat-card-compact{flex:0 0 auto;min-width:0;width:max-content;max-width:100%}
.stat-card.green .stat-value{color:var(--accent)}
.stat-card.blue .stat-value{color:var(--blue)}
.stat-card.orange .stat-value{color:var(--orange)}
.stat-card.red .stat-value{color:var(--red)}
.stat-card.purple .stat-value{color:var(--purple)}
.vsku-metric-sections{display:grid;grid-template-columns:repeat(auto-fit,minmax(235px,1fr));gap:10px;align-items:start;margin-bottom:10px}
.vsku-metric-section{min-width:0}
.vsku-metric-heading{display:block;min-width:0;min-height:34px;margin-bottom:5px}
.vsku-metric-title{font-size:12px;font-weight:700;color:var(--text);line-height:1.3}
.vsku-metric-meta{font-size:10px;color:var(--text3);line-height:1.35;margin-top:2px}
.vsku-metric-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(108px,1fr));gap:4px;min-width:0}
.vsku-metric-strip{
  display:grid;grid-template-columns:repeat(auto-fill,minmax(128px,1fr));
  gap:6px;min-width:0;margin-bottom:10px;
}
.vsku-metric-card{
  min-width:0;min-height:88px;background:var(--bg2);border:1px solid var(--border);
  border-radius:8px;padding:11px 14px;transition:border-color .2s,box-shadow .2s;
}
button.vsku-metric-card{appearance:none;font:inherit;color:inherit;text-align:left;width:100%}
.vsku-metric-card.is-clickable{cursor:pointer}
.vsku-metric-card.is-clickable:hover{border-color:var(--border2);box-shadow:0 1px 3px rgba(15,23,42,.08)}
.vsku-metric-card-label{
  font-size:11px;color:var(--text3);margin-bottom:4px;line-height:1.35;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
.vsku-metric-card-value{font-size:21px;font-weight:700;font-family:var(--mono);line-height:1.2}
.vsku-metric-card-sub{
  font-size:11px;color:var(--text3);margin-top:5px;line-height:1.35;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
.vsku-metric-strip .vsku-metric-card{min-height:68px;padding:8px 10px}
.vsku-metric-strip .vsku-metric-card-label{margin-bottom:2px}
.vsku-metric-strip .vsku-metric-card-value{font-size:20px;line-height:1.15}
.vsku-metric-strip .vsku-metric-card-sub{font-size:10px;margin-top:3px}
.vsku-metric-sections .vsku-metric-card{width:auto;min-height:60px;padding:6px 8px}
.vsku-metric-sections .vsku-metric-card-label{font-size:10px;margin-bottom:2px;line-height:1.25}
.vsku-metric-sections .vsku-metric-card-value{font-size:19px;line-height:1.15}
.vsku-metric-sections .vsku-metric-card-sub{font-size:10px;margin-top:3px;line-height:1.25}

/* ── 表格 ── */
.table-wrap{overflow-x:auto}
.listing-health-table-wrap{
  position:relative;overflow:auto;overscroll-behavior:contain;scrollbar-gutter:stable;
}
.listing-health-table thead th{
  position:sticky;top:0;z-index:5;
  background:var(--bg3);
  box-shadow:0 1px 0 var(--border),0 3px 8px rgba(15,23,42,.08);
}
table{width:100%;border-collapse:collapse;font-size:13px}
thead th{
  padding:9px 12px;text-align:left;
  background:var(--bg3);color:var(--text3);
  font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.8px;
  border-bottom:1px solid var(--border);white-space:nowrap;
}
tbody tr{border-bottom:1px solid var(--border2);transition:background .1s}
tbody tr:hover{background:var(--bg3)}
tbody td{padding:9px 12px;color:var(--text2);vertical-align:middle}
.order-list-table{table-layout:fixed;min-width:1500px;font-size:12px}
.order-list-table thead th{padding:5px 6px!important}
.order-list-table tbody td{padding:5px 6px!important;vertical-align:top}
.order-list-table .order-col-order{width:96px}
.order-list-table .order-col-shop{width:118px}
.order-list-table .order-col-image{width:74px}
.order-list-table .order-col-status{width:84px}
.order-list-table .order-col-real-sku{width:118px}
.order-list-table .order-col-supplier{width:92px}
.order-list-table .order-col-refund{width:58px}
.order-list-table .order-col-time{width:110px}
.order-list-table .order-col-warehouse{width:170px}
.order-list-table .order-col-money,.order-list-table .order-col-profit,.order-list-table .order-col-cost{width:76px}
.order-list-table .order-col-profit-rate{width:118px}
.order-profit-rate-formula{margin-top:2px;font-size:9px;line-height:1.15;font-weight:400;color:var(--text3);white-space:nowrap}
.order-list-table .order-col-stock{width:92px;min-width:92px;max-width:92px}
.order-list-table .order-col-shipby{width:82px}
.order-list-table .order-col-trajectory{width:106px}
.order-list-table .order-col-action{width:76px}
.order-cell-wrap{min-width:0;max-width:100%;white-space:normal;overflow-wrap:anywhere;word-break:break-word;line-height:1.35}
.order-cell-muted{font-size:11px;color:var(--text3)}
.order-warehouse-match{min-width:0;max-width:100%;white-space:normal;overflow-wrap:anywhere;word-break:break-word;line-height:1.25}
.order-warehouse-code{font-family:var(--mono);font-size:12px;font-weight:700;white-space:normal;overflow-wrap:anywhere;word-break:break-word}
.order-warehouse-note{font-size:10px;color:var(--text3);margin-top:2px;line-height:1.25;white-space:normal;overflow-wrap:anywhere;word-break:break-word}
tbody td.td-main{color:var(--text);font-weight:500}
.td-mono{font-family:var(--mono);font-size:12px}
.td-img{width:40px;height:40px;border-radius:4px;object-fit:cover;background:var(--bg3)}
.ai-sticky-table-wrap{max-height:280px;overflow:auto}
.ai-progress-table thead th{
  position:sticky;top:0;z-index:5;
  background:var(--bg3);
  box-shadow:0 1px 0 var(--border2), 0 2px 6px rgba(0,0,0,.04);
}
.wf-template-processing-controls{display:flex;justify-content:space-between;gap:8px;align-items:center;flex-wrap:wrap;margin-bottom:8px}
.wf-template-processing-search{width:min(100%,360px)!important;height:34px;flex:1 1 280px;box-sizing:border-box}
.form-select.wf-template-processing-sort{
  width:220px!important;min-width:220px;height:34px;
  flex:0 0 220px;box-sizing:border-box;padding:6px 38px 6px 12px;
  white-space:nowrap;
}
.wf-template-processing-table-wrap{
  position:relative;max-height:min(620px,70vh);overflow:auto;
  overscroll-behavior:contain;scrollbar-gutter:stable;
}
.wf-template-processing-table thead th{
  position:sticky;top:0;z-index:5;
  background:var(--bg3);
  box-shadow:0 1px 0 var(--border),0 3px 8px rgba(15,23,42,.08);
}
.wf-template-asset-summary{
  display:flex;align-items:center;gap:8px;flex-wrap:wrap;min-width:0;
}
.wf-template-asset-metric{
  display:inline-flex;align-items:center;gap:5px;padding:5px 9px;
  border:1px solid var(--border2);border-radius:999px;background:var(--bg3);
  color:var(--text3);font-size:11px;white-space:nowrap;
}
.wf-template-asset-metric b{color:var(--text);font-family:var(--mono);font-size:12px}
.wf-template-asset-controls{
  display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:10px 14px;
  border-bottom:1px solid var(--border2);background:var(--bg2);
}
.wf-template-asset-search{width:min(100%,360px)!important;height:34px;flex:1 1 260px;box-sizing:border-box}
.form-select.wf-template-asset-filter{
  width:210px!important;min-width:210px;height:34px;flex:0 0 210px;
  box-sizing:border-box;padding:6px 38px 6px 12px;white-space:nowrap;
}
.wf-template-assets-table-wrap{
  position:relative;max-height:min(560px,68vh);overflow:auto;
  overscroll-behavior:contain;scrollbar-gutter:stable;
}
.wf-template-assets-table{min-width:900px;width:100%;table-layout:fixed}
.wf-template-assets-table thead th{
  position:sticky;top:0;z-index:6;background:var(--bg3);
  box-shadow:0 1px 0 var(--border),0 3px 8px rgba(15,23,42,.08);
}
.wf-template-assets-table .wf-asset-template-col{width:30%}
.wf-template-assets-table .wf-asset-path-col{width:30%}
.wf-template-assets-table .wf-asset-summary-col{width:27%}
.wf-template-assets-table .wf-asset-action-col{width:13%;text-align:right}
.wf-sku-manual-template-results{
  margin-top:7px;max-height:min(340px,42vh);overflow:auto;
  border:1px solid var(--border2);border-radius:8px;background:var(--bg);
  scrollbar-gutter:stable;
}
.wf-sku-manual-template-option{
  display:block;width:100%;padding:9px 11px;border:0;
  border-bottom:1px solid var(--border2);background:transparent;color:var(--text);
  text-align:left;cursor:pointer;
}
.wf-sku-manual-template-option:last-child{border-bottom:0}
.wf-sku-manual-template-option:hover,
.wf-sku-manual-template-option:focus,
.wf-sku-manual-template-option.is-active{
  outline:0;background:var(--blue-dim);
}
.wf-sku-manual-template-option.is-selected{box-shadow:inset 3px 0 var(--green)}
@media(max-width:640px){
  .wf-template-processing-search,.form-select.wf-template-processing-sort,
  .wf-template-asset-search,.form-select.wf-template-asset-filter{width:100%!important;min-width:0;flex-basis:100%}
  .wf-template-asset-summary{width:100%}
  .wf-sku-manual-template-results{max-height:36vh}
}
.ai-rule-note{margin-left:auto;display:flex;align-items:center;justify-content:flex-end;gap:6px;flex-wrap:wrap;font-size:11px;color:var(--text3);line-height:1.4}
.ai-rule-note-label{font-weight:600;color:var(--text3)}
.ai-rule-tag{display:inline-flex;align-items:center;padding:2px 7px;border:1px solid var(--border2);border-radius:999px;background:var(--bg3);white-space:nowrap}
.ai-rule-tag.skip{color:var(--orange);background:var(--orange-dim);border-color:rgba(234,88,12,.18)}
.ai-rule-tag.pass{color:var(--blue);background:var(--blue-dim);border-color:rgba(37,99,235,.18)}

/* ── 徽标/状态 ── */
.badge{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:10px;font-size:11px;font-weight:600;white-space:nowrap}
.badge-green{background:var(--accent-dim);color:var(--accent)}
.badge-red{background:var(--red-dim);color:var(--red)}
.badge-blue{background:var(--blue-dim);color:var(--blue)}
.badge-orange{background:var(--orange-dim);color:var(--orange)}
.badge-gray{background:var(--bg4);color:var(--text3)}
.badge-black{background:#111827;color:#fff}
.badge-purple{background:rgba(188,140,255,.15);color:var(--purple)}
.badge-dajian-exclusive{display:inline-block;height:16px;line-height:16px;padding:0 5px;box-sizing:border-box;text-align:center;border-radius:8px 0;font-size:12px;font-weight:700;color:#fcefb6;font-family:"Source Han Sans SC","Microsoft YaHei",system-ui,-apple-system,sans-serif;cursor:default;background:linear-gradient(90deg,#8d6229,#4a402b);vertical-align:middle}
.badge-dajian-discount{display:inline-block;height:16px;line-height:16px;padding:0 5px;box-sizing:border-box;text-align:center;border-radius:8px 0;font-size:12px;font-weight:700;color:#fff;font-family:"Source Han Sans SC","Microsoft YaHei",system-ui,-apple-system,sans-serif;cursor:default;background:linear-gradient(90deg,#e23b2e,#b91c1c);vertical-align:middle}

/* ── 表单 ── */
.form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px;margin-bottom:14px}
.form-group{display:flex;flex-direction:column;gap:5px}
.form-label{font-size:12px;font-weight:600;color:var(--text2);text-transform:uppercase;letter-spacing:.5px}
.form-input,.form-select,.form-textarea{
  padding:8px 12px;width:100%;
  background:var(--bg3);border:1px solid var(--border);
  color:var(--text);border-radius:var(--radius);
  transition:border-color .15s;
}
.jcpenney-mapping-toolbar{display:flex;align-items:flex-end;gap:14px;flex-wrap:wrap;margin-bottom:14px}
.jcpenney-mapping-toolbar .form-group{flex:0 0 auto}
.jcpenney-mapping-toolbar .jcpenney-map-provider-select{width:112px}
.jcpenney-mapping-toolbar .jcpenney-rule-shop-select{width:auto;min-width:160px;max-width:240px}
.jcpenney-mapping-toolbar .jcpenney-resource-summary{flex:1 1 200px}
.jcpenney-operator-config-control{display:flex;align-items:center;gap:8px;min-width:0}
.jcpenney-operator-config-control .form-input{flex:1 1 auto;min-width:0}
.jcpenney-operator-config-control .btn{flex:0 0 auto;white-space:nowrap}
.supplier-select{
  min-height:36px;height:36px;line-height:20px;
  padding:6px 28px 6px 10px;box-sizing:border-box;
  font-size:13px;
}
.form-select.cd-map-supplier-select{
  width:190px!important;min-width:190px;height:34px!important;
  flex:0 0 190px;box-sizing:border-box;padding:6px 38px 6px 12px!important;
  white-space:nowrap;
}
.cd-map-list-header{justify-content:space-between;flex-wrap:wrap}
.cd-map-pagination{margin-left:auto;min-width:0}
.cd-map-pagination .pagination{
  justify-content:flex-end;flex-wrap:wrap;padding:0;border-top:0;
}
.cd-map-pagination .page-info{margin-left:4px;white-space:nowrap}
@media(max-width:640px){
  .form-select.cd-map-supplier-select{width:100%!important;min-width:100%;flex-basis:100%}
  .cd-map-pagination{width:100%;margin-left:0}
  .cd-map-pagination .pagination{justify-content:flex-start}
  .cd-map-pagination .page-info{display:none}
  .jcpenney-mapping-toolbar{display:grid;grid-template-columns:1fr}
  .jcpenney-mapping-toolbar .form-group,.jcpenney-mapping-toolbar .jcpenney-resource-summary{width:100%;min-width:0}
  .jcpenney-mapping-toolbar .jcpenney-map-provider-select,.jcpenney-mapping-toolbar .jcpenney-rule-shop-select{width:100%;min-width:0;max-width:none}
  .jcpenney-operator-config-control{align-items:stretch;flex-direction:column}
  .jcpenney-operator-config-control .btn{width:100%}
}
.form-textarea{min-height:90px;resize:vertical}
.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:var(--blue)}
.form-hint{font-size:11px;color:var(--text3)}
.form-actions{display:flex;gap:10px;justify-content:flex-end;padding-top:14px;border-top:1px solid var(--border2);margin-top:14px}
.own-coef-grid{display:grid;grid-template-columns:repeat(2,minmax(220px,1fr));gap:14px}
@media(max-width:640px){.own-coef-grid{grid-template-columns:1fr}}
.shop-form{display:flex;flex-direction:column;gap:10px}
.shop-form .form-row{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px 12px;margin-bottom:0}
.shop-form .form-group{gap:4px;min-width:0}
.shop-form .form-label{font-size:11px;letter-spacing:.35px;line-height:1.25}
.shop-form .form-input,.shop-form .form-select,.shop-form .form-textarea{
  min-height:34px;padding:7px 10px;font-size:13px;box-sizing:border-box;
}
.shop-form .form-textarea{min-height:58px}
.shop-form-section{border:1px solid var(--border2);background:var(--bg3);border-radius:8px;padding:10px 12px}
.shop-form-section-title{font-size:11px;font-weight:700;color:var(--text3);letter-spacing:.45px;margin-bottom:9px;text-transform:uppercase}
.shop-form-compact-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px 12px}
.shop-form .shop-form-pricing-grid{grid-template-columns:repeat(4,minmax(112px,128px));justify-content:start}
.shop-form-proxy-grid{display:grid;grid-template-columns:120px minmax(150px,1.2fr) 100px minmax(130px,1fr) minmax(130px,1fr);gap:10px 12px}
.shop-form-credentials{border-top:1px solid var(--border2);padding-top:10px;margin-top:0}
.shop-form-credentials .form-row{grid-template-columns:repeat(2,minmax(0,1fr))}
.shop-form-manomano{gap:8px}
.shop-form-manomano .shop-form-section{padding:9px 10px}
.shop-form-manomano .shop-form-section-title{margin-bottom:7px}
.shop-form-manomano .form-row,.shop-form-manomano .shop-form-compact-grid,.shop-form-manomano .shop-form-proxy-grid{gap:8px 10px}
.shop-form-manomano .shop-form-base-grid{grid-template-columns:130px 110px 180px minmax(220px,1fr)}
.shop-form-manomano .shop-form-base-style{grid-column:1;grid-row:2}
.shop-form-manomano .shop-form-base-brand{grid-column:2/5;grid-row:2}
.shop-form-manomano .shop-form-compact-grid{grid-template-columns:repeat(5,minmax(110px,1fr))}
.shop-form-manomano .shop-form-cdiscount-only{display:none}
.shop-form-manomano .shop-form-credentials{
  border:1px solid var(--border2);background:var(--bg3);border-radius:8px;padding:9px 10px;
}
.shop-form-manomano .shop-mm-account-grid{grid-template-columns:minmax(260px,1fr) 170px 130px}
.shop-form-manomano .shop-mm-settings-grid{grid-template-columns:100px 120px 130px 150px;justify-content:start}
.shop-form-manomano .shop-mm-template-row{grid-template-columns:minmax(180px,1.3fr) minmax(110px,.8fr) minmax(180px,1.2fr) 64px 34px;align-items:end}
.shop-form-manomano .shop-mm-assignment-row{grid-template-columns:140px minmax(190px,1fr) 72px 92px 92px 34px;align-items:end}
.shop-form-manomano .shop-mm-divider{height:1px;background:var(--border);margin:11px 0}
/* 店铺管理：短字段不再被等宽列拉伸，三种模式共用这一紧凑布局。 */
.modal-shop-editor{
  width:min(690px,calc(100vw - 28px));max-width:calc(100vw - 28px);max-height:90vh;
}
.modal-shop-editor .modal-header{padding:12px 16px}
.modal-shop-editor .modal-body{padding:12px 16px;overflow-x:hidden}
.modal-shop-editor .modal-footer{padding:10px 16px}
.modal-shop-editor-manomano{width:min(980px,calc(100vw - 28px));max-width:calc(100vw - 28px)}
.shop-form-editor{gap:8px}
.shop-form-editor .shop-form-section{padding:8px 10px}
.shop-form-editor .shop-form-section-title{margin-bottom:7px}
.shop-form-editor:not(.shop-form-manomano) .shop-form-base-grid{display:flex;flex-wrap:wrap;gap:8px 10px}
.shop-form-editor:not(.shop-form-manomano) .shop-form-base-platform{flex:0 0 132px}
.shop-form-editor:not(.shop-form-manomano) .shop-form-base-status{flex:0 0 100px}
.shop-form-editor:not(.shop-form-manomano) .shop-form-base-global-code{flex:0 0 96px}
.shop-form-editor:not(.shop-form-manomano) .shop-form-base-platform-id{flex:0 0 142px}
.shop-form-editor:not(.shop-form-manomano) .shop-form-base-name{flex:0 0 174px}
.shop-form-editor:not(.shop-form-manomano) .shop-form-base-brand{flex:0 0 164px}
.shop-form-editor:not(.shop-form-manomano) .shop-form-base-style{flex:0 0 150px}
.shop-form-editor .shop-form-compact-grid{gap:8px 10px}
.shop-form-editor .shop-form-pricing-grid{grid-template-columns:repeat(4,minmax(112px,128px))}
.shop-form-editor .shop-form-proxy-grid{
  grid-template-columns:86px 136px 82px 118px 132px;justify-content:start;
  gap:8px 10px;
}
.shop-form-editor .shop-form-proxy-grid .form-group:last-child{grid-column:auto}
.shop-form-editor .shop-form-account-grid{grid-template-columns:minmax(165px,220px) minmax(220px,1fr)}
.shop-form-editor .form-hint,.shop-form-editor .form-group > div[style*="font-size:10px"]{line-height:1.35}
.shop-form-help{
  display:inline-grid;place-items:center;width:14px;height:14px;margin-left:3px;
  border:1px solid var(--border);border-radius:50%;color:var(--text3);font-size:10px;
  font-family:var(--mono);font-weight:700;line-height:1;vertical-align:1px;cursor:help;
}
.shop-form-help:hover,.shop-form-help:focus{border-color:var(--blue);color:var(--blue);outline:none}
.modal-shop-profile{width:min(980px,calc(100vw - 28px));max-width:calc(100vw - 28px);max-height:90vh}
.modal-shop-profile .modal-header{padding:12px 16px}
.modal-shop-profile .modal-body{padding:12px 16px}
.modal-shop-profile .modal-footer{padding:10px 16px}
.shop-profile-form{gap:8px}
.shop-profile-form .shop-form-section{padding:8px 10px}
.shop-profile-form .shop-form-section-title{margin-bottom:7px}
.shop-profile-form .form-row{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px 10px}
@media(max-width:900px){
  .shop-form .form-row,.shop-form-compact-grid,.shop-form-proxy-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .shop-form-manomano .shop-form-base-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .shop-form-manomano .shop-form-base-style,.shop-form-manomano .shop-form-base-brand{grid-column:auto;grid-row:auto}
  .shop-form-manomano .shop-form-compact-grid{grid-template-columns:repeat(3,minmax(110px,1fr))}
  .shop-form-manomano .shop-mm-account-grid{grid-template-columns:minmax(220px,1fr) 150px 120px}
  .shop-form-manomano .shop-mm-settings-grid{grid-template-columns:90px 110px 120px 140px}
  .shop-form-manomano .shop-mm-template-row{grid-template-columns:minmax(170px,1fr) 110px minmax(160px,1fr) 60px 34px}
  .shop-form-manomano .shop-mm-assignment-row{grid-template-columns:120px minmax(170px,1fr) 68px 84px 84px 34px}
  .shop-form .shop-form-pricing-grid{grid-template-columns:repeat(2,minmax(112px,128px))}
  .shop-form-editor:not(.shop-form-manomano) .shop-form-base-grid{display:flex}
  .shop-form-editor .shop-form-proxy-grid{grid-template-columns:86px 136px 82px 118px 132px}
  .shop-form-editor .shop-form-pricing-grid{grid-template-columns:repeat(4,minmax(112px,128px))}
  .shop-form-editor .shop-form-account-grid{grid-template-columns:minmax(165px,220px) minmax(220px,1fr)}
  .shop-profile-form .form-row{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:720px){
  .shop-form-editor:not(.shop-form-manomano) .shop-form-base-grid{display:grid;grid-template-columns:132px 105px minmax(0,1fr)}
  .shop-form-editor:not(.shop-form-manomano) .shop-form-base-grid .form-group{width:auto;flex:auto}
  .shop-form-editor .shop-form-proxy-grid{grid-template-columns:100px minmax(0,1fr)}
  .shop-form-editor .shop-form-pricing-grid{grid-template-columns:repeat(2,minmax(112px,128px))}
  .shop-profile-form .form-row{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:640px){
  .shop-form .form-row,.shop-form-compact-grid,.shop-form-proxy-grid,.shop-form-credentials .form-row{grid-template-columns:1fr}
  .shop-form-manomano .shop-form-base-grid,.shop-form-manomano .shop-form-compact-grid,.shop-form-manomano .shop-mm-account-grid,.shop-form-manomano .shop-mm-settings-grid,.shop-form-manomano .shop-mm-template-row,.shop-form-manomano .shop-mm-assignment-row{grid-template-columns:1fr}
  .shop-form .shop-form-pricing-grid{grid-template-columns:1fr}
  .modal-shop-editor,.modal-shop-editor-manomano,.modal-shop-profile{width:calc(100vw - 20px);max-width:calc(100vw - 20px)}
  .shop-form-editor:not(.shop-form-manomano) .shop-form-base-grid,.shop-form-editor .shop-form-proxy-grid,.shop-form-editor .shop-form-account-grid,.shop-profile-form .form-row{display:grid;grid-template-columns:1fr}
  .shop-form-editor .shop-form-proxy-grid .form-group:last-child{grid-column:auto}
}

/* ── 搜索工具栏 ── */
.toolbar{
  display:flex;align-items:center;gap:10px;
  padding:14px 18px;border-bottom:1px solid var(--border2);
  flex-wrap:wrap;
}
.search-box{
  display:flex;align-items:center;gap:8px;
  background:var(--bg3);border:1px solid var(--border);
  border-radius:var(--radius);padding:0 12px;flex:1;min-width:200px;max-width:340px;
}
.search-box input{background:transparent;border:none;padding:7px 0;flex:1;min-width:0;color:var(--text)}
.search-box .search-icon{color:var(--text3);font-size:14px}
.toolbar-spacer{flex:1}

/* ── 分页 ── */
.pagination{
  display:flex;align-items:center;gap:6px;
  padding:12px 18px;border-top:1px solid var(--border2);
  font-size:13px;color:var(--text2);
}
.page-btn{
  width:30px;height:30px;border-radius:var(--radius);
  background:var(--bg3);border:1px solid var(--border);
  color:var(--text2);display:flex;align-items:center;justify-content:center;
  font-size:12px;cursor:pointer;transition:all .15s;
}
.page-btn:hover{background:var(--bg4);color:var(--text)}
.page-btn.active{background:var(--accent2);border-color:var(--accent);color:#fff}
.page-info{margin-left:auto;font-size:12px;color:var(--text3);font-family:var(--mono)}

/* ── 进度条 ── */
.progress-bar{background:var(--bg3);border-radius:4px;height:6px;overflow:hidden}
.progress-fill{height:100%;background:linear-gradient(90deg,var(--accent2),var(--accent));border-radius:4px;transition:width .3s}

/* ── 选项卡 ── */
.tabs{display:flex;gap:0;border-bottom:1px solid var(--border);margin-bottom:20px}
.tab{
  padding:9px 18px;cursor:pointer;
  font-size:13px;color:var(--text3);
  border-bottom:2px solid transparent;transition:all .15s;
  white-space:nowrap;
}
.tab:hover{color:var(--text)}
.tab.active{color:var(--accent);border-bottom-color:var(--accent)}

/* ── 模态框 ── */
.modal-overlay{
  position:fixed;inset:0;background:rgba(0,0,0,.7);
  display:flex;align-items:center;justify-content:center;
  z-index:1000;
  animation:none;
}
@keyframes fadeIn{from{opacity:0}to{opacity:1}}
.modal{
  background:var(--bg2);border:1px solid var(--border);
  border-radius:var(--radius2);width:90%;max-width:680px;
  max-height:85vh;display:flex;flex-direction:column;
  box-shadow:var(--shadow);animation:none;
  transform:translateZ(0);backface-visibility:hidden;contain:layout paint;
}
@keyframes slideUp{from{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}
.modal-lg{max-width:900px}
.modal-wide{max-width:900px}
.modal-xl{width:96vw;max-width:1280px}
.modal-lowes-push{
  width:min(1240px, calc(100vw - 48px));
  min-width:1120px;max-width:calc(100vw - 48px);
  transform:translateZ(0);backface-visibility:hidden;contain:layout paint;
}
.modal-lowes-push,.modal-lowes-push *{transition:none!important}
.modal-lowes-push .modal-body{overflow-x:hidden;scrollbar-gutter:stable}
.modal-lowes-push tbody tr:hover{background:transparent}
.lowes-push-log-wrap{max-width:100%;overflow-x:auto;scrollbar-gutter:stable}
.lowes-push-log-table{width:100%;min-width:1040px;border-collapse:collapse}
.modal-lowes-push-items{
  width:min(1320px, calc(100vw - 48px));
  max-width:calc(100vw - 48px);
  transform:translateZ(0);backface-visibility:hidden;contain:layout paint;
}
.modal-lowes-push-items,.modal-lowes-push-items *{transition:none!important}
.modal-lowes-push-items .modal-body{overflow-x:hidden;scrollbar-gutter:stable}
.modal-lowes-push-items tbody tr:hover{background:inherit}
.lowes-push-items-wrap{
  width:100%;max-width:100%;max-height:58vh;
  overflow:auto;padding-bottom:10px;
  border:1px solid var(--border2);border-radius:6px;background:var(--bg);
  scrollbar-gutter:stable;contain:layout paint;
}
.lowes-push-items-table{width:100%;min-width:1880px;border-collapse:collapse;font-size:12px;white-space:nowrap}
.modal-stable{animation:none;transform:translateZ(0);backface-visibility:hidden;contain:layout paint}
.modal-overlay-stable{animation:none;backdrop-filter:none}
.modal-export-create .modal-body{overflow-x:hidden}
.modal-leroy-export{max-width:680px}
.modal-leroy-export .modal-body{overflow-x:hidden}
.leroy-export-form .form-group{margin-bottom:12px}
.leroy-export-preview{
  padding:10px 12px;border:1px solid var(--border2);border-radius:8px;
  background:var(--bg3);font-size:12px;color:var(--text2)
}
.leroy-export-batch-note{
  margin-bottom:10px;padding:9px 10px;border-radius:6px;
  background:var(--blue-dim);color:var(--blue);line-height:1.5;
  overflow-wrap:anywhere
}
.leroy-export-stats{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px}
.leroy-export-stat{
  min-width:0;padding:8px 9px;border:1px solid var(--border2);
  border-radius:6px;background:var(--bg2)
}
.leroy-export-stat-label{font-size:11px;color:var(--text3);white-space:nowrap}
.leroy-export-stat-value{margin-top:2px;font-size:18px;font-weight:750;line-height:1.25}
.leroy-export-template{
  display:flex;align-items:center;justify-content:space-between;gap:10px;
  margin-top:10px;padding:9px 10px;border:1px solid var(--border2);
  border-radius:6px;background:var(--bg2)
}
.leroy-export-blockers{margin-top:8px;line-height:1.55;color:var(--orange)}
.leroy-export-image-action{
  display:flex;align-items:center;justify-content:space-between;gap:10px;
  padding:9px 10px;margin-bottom:10px;border:1px solid var(--border2);border-radius:8px;background:var(--bg2)
}
.leroy-export-submit{
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  margin-top:12px;padding-top:12px;border-top:1px solid var(--border2)
}
@media(max-width:640px){
  .leroy-export-stats{grid-template-columns:repeat(2,minmax(0,1fr))}
  .leroy-export-template,.leroy-export-image-action,.leroy-export-submit{align-items:stretch;flex-direction:column}
  .leroy-export-image-action .btn,.leroy-export-submit .btn{width:100%}
}
.modal-jcpenney-export,.modal-jcpenney-images{width:min(900px,calc(100vw - 32px));max-width:calc(100vw - 32px)}
.modal-jcpenney-export .modal-body,.modal-jcpenney-images .modal-body{overflow-x:hidden}
.jcpenney-export-form{display:flex;flex-direction:column;gap:14px;min-width:0}
.jcpenney-export-notice{
  padding:12px 14px;border:1px solid #fdba74;border-radius:8px;
  background:#fff7ed;color:var(--text2);font-size:12px;line-height:1.65
}
.jcpenney-export-notice-state{font-weight:700;color:#166534;white-space:nowrap}
.jcpenney-export-notice-state.is-error{color:#b91c1c}
.jcpenney-export-controls{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.jcpenney-export-preview{display:block;width:100%;min-width:0;min-height:116px}
.jcpenney-export-loading{
  min-height:116px;display:flex;align-items:center;justify-content:center;gap:10px;
  padding:22px;border:1px dashed var(--border);border-radius:8px;
  background:var(--bg3);color:var(--text3);font-size:12px;text-align:center
}
.jcpenney-export-metrics,.jcpenney-image-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;width:100%}
.jcpenney-export-metric,.jcpenney-image-metric{
  min-width:0;padding:12px 14px;border:1px solid var(--border2);
  border-radius:8px;background:var(--bg3)
}
.jcpenney-export-metric-label,.jcpenney-image-metric-label{font-size:11px;font-weight:600;color:var(--text3);letter-spacing:.3px}
.jcpenney-export-metric-value,.jcpenney-image-metric-value{margin-top:2px;font-size:22px;font-weight:750;line-height:1.2;color:var(--text)}
.jcpenney-export-metric-value.is-success{color:var(--green)}
.jcpenney-export-metric-value.is-danger{color:var(--red)}
.jcpenney-export-empty{
  margin-top:10px;padding:12px 14px;border:1px solid rgba(234,88,12,.24);
  border-radius:8px;background:var(--orange-dim)
}
.jcpenney-export-empty-title{font-size:12px;font-weight:700;color:var(--orange)}
.jcpenney-export-empty-copy{margin-top:2px;font-size:12px;line-height:1.6;color:var(--text2)}
.jcpenney-export-reasons{
  margin-top:10px;padding:10px 14px 10px 30px;border:1px solid var(--border2);
  border-radius:8px;background:var(--bg3);color:var(--text2);font-size:12px;line-height:1.7
}
.jcpenney-image-form{display:flex;flex-direction:column;gap:14px;min-width:0}
.jcpenney-image-notice{
  padding:12px 14px;border:1px solid rgba(37,99,235,.22);border-radius:8px;
  background:var(--blue-dim);color:var(--text2);font-size:12px;line-height:1.65
}
.jcpenney-image-controls{
  display:grid;grid-template-columns:minmax(220px,2fr) minmax(150px,1.1fr) minmax(110px,.7fr) minmax(120px,.8fr);
  gap:12px;align-items:end
}
.jcpenney-image-controls .form-group{min-width:0}
.jcpenney-image-preview{display:block;width:100%;min-width:0;min-height:116px}
.jcpenney-image-contract{
  margin-top:10px;padding:10px 12px;border-left:3px solid var(--border);
  border-radius:0 6px 6px 0;background:var(--bg3);color:var(--text3);font-size:12px;line-height:1.65
}
.jcpenney-image-samples{
  margin-top:10px;padding:10px 12px;border:1px solid var(--border2);border-radius:7px;
  color:var(--text2);font-size:12px;line-height:1.7;overflow-wrap:anywhere
}
.jcpenney-image-error{
  padding:12px 14px;border:1px solid rgba(220,38,38,.25);border-radius:8px;
  background:var(--red-dim);color:var(--red);font-size:12px;line-height:1.6
}
@media(max-width:760px){
  .jcpenney-image-controls{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:640px){
  .modal-jcpenney-export,.modal-jcpenney-images{width:calc(100vw - 20px);max-width:calc(100vw - 20px)}
  .modal-jcpenney-export .modal-body,.modal-jcpenney-images .modal-body{padding:14px}
  .modal-jcpenney-export .modal-footer,.modal-jcpenney-images .modal-footer{padding:12px 14px}
  .jcpenney-export-controls{grid-template-columns:1fr;gap:10px}
  .jcpenney-export-metrics,.jcpenney-image-metrics{gap:6px}
  .jcpenney-export-metric,.jcpenney-image-metric{padding:10px 9px}
  .jcpenney-export-metric-value,.jcpenney-image-metric-value{font-size:19px}
}
@media(max-width:480px){
  .jcpenney-image-controls{grid-template-columns:1fr;gap:10px}
}
.modal-table-modal{width:min(1320px, calc(100vw - 48px));max-width:calc(100vw - 48px)}
.modal-table-wrap{
  width:100%;max-width:100%;max-height:58vh;overflow:auto;padding-bottom:10px;
  border:1px solid var(--border2);border-radius:6px;background:var(--bg);
  scrollbar-gutter:stable;contain:layout paint;
}
.modal-table{width:100%;min-width:980px;border-collapse:collapse;font-size:12px;white-space:nowrap}
#modal-overlay .modal,#modal-overlay .modal *{transition:none!important}
#modal-overlay .modal-body{scrollbar-gutter:stable}
#modal-overlay tbody tr{transition:none}
#modal-overlay tbody tr:hover{background:inherit}
@media(max-width:1180px){.modal-lowes-push,.modal-lowes-push-items,.modal-table-modal{width:96vw;min-width:0}}
.modal-header{
  padding:16px 20px;border-bottom:1px solid var(--border);
  display:flex;align-items:center;gap:10px;flex-shrink:0;
}
.modal-title{font-size:15px;font-weight:700}
.modal-close{margin-left:auto;background:none;border:none;color:var(--text3);font-size:18px;cursor:pointer;padding:2px 6px;border-radius:4px;transition:all .15s}
.modal-close:hover{background:var(--bg3);color:var(--text)}
.modal-body{padding:20px;overflow-y:auto;flex:1}
.order-detail-product-list{width:100%;min-width:0}
.order-detail-product-line{
  width:100%;min-width:0;display:grid;
  grid-template-columns:96px minmax(0,1fr);
  gap:14px;align-items:start
}
.order-detail-product-media{
  position:relative;width:96px;aspect-ratio:1;
  border:1px solid var(--border2);border-radius:6px;
  background:var(--bg2);overflow:hidden
}
.order-detail-product-media img{display:block;width:100%;height:100%;object-fit:contain}
.order-detail-product-image-empty{
  position:absolute;inset:0;display:flex;align-items:center;justify-content:center;
  padding:8px;text-align:center;font-size:11px;line-height:1.35;color:var(--text3)
}
.order-detail-product-copy{min-width:0}
.order-detail-product-title{
  max-width:100%;font-size:13px;font-weight:600;line-height:1.5;
  overflow-wrap:break-word;word-break:normal
}
.order-detail-product-ids{
  display:flex;align-items:center;flex-wrap:wrap;gap:4px 14px;
  margin-top:5px;font-family:var(--mono);font-size:11px;color:var(--text3)
}
.order-detail-product-ids span{max-width:100%;overflow-wrap:anywhere}
@media(max-width:640px){
  .order-detail-product-line{grid-template-columns:72px minmax(0,1fr);gap:10px}
  .order-detail-product-media{width:72px}
}
.modal-footer{padding:14px 20px;border-top:1px solid var(--border);display:flex;justify-content:flex-end;gap:10px;flex-shrink:0}
.modal-action-status{
  margin:0 20px 12px;padding:8px 10px;border:1px solid var(--border2);
  border-radius:6px;background:var(--bg3);color:var(--text2);
  font-size:12px;line-height:1.45;flex-shrink:0
}
.modal-action-status.info{border-color:rgba(59,130,246,.35);color:var(--blue)}
.modal-action-status.success{border-color:rgba(34,197,94,.35);color:var(--green)}
.modal-action-status.warning{border-color:rgba(245,158,11,.35);color:var(--orange)}
.modal-action-status.error{border-color:rgba(239,68,68,.35);color:var(--red)}
.btn.is-loading{pointer-events:none}
.btn .btn-spinner{width:12px;height:12px;border:2px solid currentColor;border-top-color:transparent;border-radius:50%;display:inline-block;vertical-align:-2px;margin-right:6px;animation:spin .7s linear infinite}

/* ── 吐司通知 ── */
#toast-container{position:fixed;top:16px;right:16px;z-index:9999;display:flex;flex-direction:column;gap:8px}
.toast{
  display:flex;align-items:center;gap:10px;
  padding:10px 16px;border-radius:var(--radius);
  background:var(--bg3);border:1px solid var(--border);
  color:var(--text);font-size:13px;min-width:260px;
  box-shadow:var(--shadow);animation:toastIn .2s ease;
}
@keyframes toastIn{from{transform:translateX(100%);opacity:0}to{transform:translateX(0);opacity:1}}
.toast.success{border-color:var(--accent);color:var(--accent)}
.toast.error{border-color:var(--red);color:var(--red)}
.toast.info{border-color:var(--blue);color:var(--blue)}
.toast.warning{border-color:var(--yellow);color:var(--yellow)}
.network-status{position:fixed;left:50%;top:12px;transform:translateX(-50%);z-index:10000;display:none;align-items:center;gap:8px;max-width:min(720px,calc(100vw - 32px));padding:8px 14px;border-radius:999px;border:1px solid var(--border);background:var(--bg2);box-shadow:var(--shadow);font-size:12px;color:var(--text2)}
.network-status.show{display:flex}
.network-status.error{border-color:rgba(220,38,38,.35);color:var(--red);background:#fff7f7}
.network-status.success{border-color:rgba(22,163,74,.35);color:var(--green);background:#f0fdf4}
.route-error{min-height:calc(100vh - var(--header-h) - 72px);display:flex;align-items:center;justify-content:center;padding:40px 16px}
.route-error-card{width:min(520px,100%);background:var(--bg2);border:1px solid var(--border);border-radius:10px;padding:28px;text-align:center;box-shadow:var(--shadow)}
.route-error-code{font-family:var(--mono);font-size:13px;color:var(--text3);margin-bottom:8px}
.route-error-title{font-size:20px;font-weight:800;color:var(--text);margin-bottom:8px}
.route-error-text{font-size:13px;color:var(--text2);line-height:1.7;margin-bottom:18px}
.route-error-actions{display:flex;gap:8px;justify-content:center;flex-wrap:wrap}

/* ── 加载状态 ── */
.loading{display:flex;align-items:center;justify-content:center;padding:60px;color:var(--text3);gap:10px}
.spinner{width:18px;height:18px;border:2px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin .7s linear infinite;flex-shrink:0}
@keyframes spin{to{transform:rotate(360deg)}}

/* ── 同步进度面板 ── */
.sync-panel{background:var(--bg3);border:1px solid var(--border);border-radius:var(--radius2);padding:16px;margin-bottom:16px}
.sync-panel .sync-title{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.8px;color:var(--text3);margin-bottom:10px}

/* ── 空状态 ── */
.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;color:var(--text3);gap:10px}
.empty-icon{font-size:40px;opacity:.4}
.empty-text{font-size:14px}

/* ── 标签选择 ── */
.tag-list{display:flex;flex-wrap:wrap;gap:6px}
.tag{
  padding:3px 10px;border-radius:10px;
  background:var(--bg3);border:1px solid var(--border);
  font-size:12px;color:var(--text2);cursor:pointer;transition:all .15s;
}
.tag:hover{border-color:var(--blue);color:var(--blue)}
.tag.selected{background:var(--blue-dim);border-color:var(--blue);color:var(--blue)}
.tag.tag-red{background:var(--red-dim);border-color:rgba(220,38,38,.35);color:var(--red);cursor:default}
.tag.tag-orange{background:var(--orange-dim);border-color:rgba(245,158,11,.35);color:var(--orange);cursor:default}

/* ── 详情面板 ── */
.detail-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px}
.detail-item{background:var(--bg3);border-radius:var(--radius);padding:10px 12px}
.detail-item .dk{font-size:11px;color:var(--text3);text-transform:uppercase;letter-spacing:.5px;margin-bottom:3px}
.detail-item .dv{font-size:13px;color:var(--text);font-family:var(--mono)}

/* ── 定时任务：分组列表与说明弹窗 ── */
.task-overview-panel,.task-list-panel{
  background:var(--bg2);border:1px solid var(--border);border-radius:var(--radius2)
}
.task-overview-panel{margin-bottom:16px}
.task-panel-heading{
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  padding:11px 14px;border-bottom:1px solid var(--border2)
}
.task-panel-heading-title{font-size:14px;font-weight:700;color:var(--text)}
.task-overview-row{
  display:grid;grid-template-columns:minmax(180px,.9fr) minmax(300px,2fr) auto 32px;
  align-items:center;gap:12px;padding:10px 14px;border-bottom:1px solid var(--border2)
}
.task-overview-row:last-child{border-bottom:0}
.task-overview-row[data-level="danger"]{box-shadow:inset 3px 0 var(--red)}
.task-overview-row[data-level="warning"]{box-shadow:inset 3px 0 var(--orange)}
.task-overview-name{font-weight:650;color:var(--text)}
.task-overview-metrics{display:flex;gap:12px;align-items:center;flex-wrap:wrap;font-size:12px;color:var(--text2)}
.task-overview-metrics span{white-space:nowrap}
.task-info-button{
  width:30px;height:30px;padding:0;border-radius:50%;display:inline-flex;
  align-items:center;justify-content:center;flex:0 0 auto;
  border:1px solid var(--border);background:var(--bg3);color:var(--blue);
  font:700 13px/1 Georgia,serif;cursor:pointer;transition:all .15s
}
.task-info-button:hover,.task-info-button:focus-visible{
  outline:0;border-color:var(--blue);background:var(--blue-dim);box-shadow:0 0 0 2px var(--blue-dim)
}
.task-list-toolbar{
  display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:10px 12px;
  border-bottom:1px solid var(--border2)
}
.task-list-toolbar .form-input{flex:1 1 260px;min-width:180px}
.task-list-toolbar .form-select{width:auto;min-width:140px}
.task-market-group{border-bottom:1px solid var(--border)}
.task-market-group:last-child{border-bottom:0}
.task-market-summary{
  display:flex;align-items:center;gap:9px;padding:10px 13px;background:var(--bg3);
  cursor:pointer;list-style:none;user-select:none
}
.task-market-summary::-webkit-details-marker{display:none}
.task-market-summary::before{
  content:'›';width:14px;color:var(--text3);font-size:18px;line-height:1;
  transform:rotate(0deg);transition:transform .15s
}
.task-market-group[open]>.task-market-summary::before{transform:rotate(90deg)}
.task-market-name{font-weight:700;color:var(--text)}
.task-market-summary-meta{margin-left:auto;display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.task-list-head,.task-list-row{
  display:grid;
  grid-template-columns:minmax(260px,2.2fr) minmax(130px,1fr) minmax(92px,.65fr) minmax(145px,1fr) minmax(92px,.65fr) minmax(215px,1.3fr);
  align-items:center;column-gap:12px
}
.task-list-head{
  padding:7px 13px;background:var(--bg2);border-bottom:1px solid var(--border2);
  color:var(--text3);font-size:10px;font-weight:650;letter-spacing:.5px
}
.task-list-row{position:relative;padding:9px 13px;border-bottom:1px solid var(--border2);min-height:58px}
.task-list-row:last-child{border-bottom:0}
.task-list-row:hover{background:var(--bg3)}
.task-list-row[data-alert="danger"]{box-shadow:inset 3px 0 var(--red)}
.task-list-row[data-alert="warning"]{box-shadow:inset 3px 0 var(--orange)}
.task-list-primary{min-width:0}
.task-list-title-line{display:flex;align-items:center;gap:7px;min-width:0}
.task-list-title{font-size:13px;font-weight:650;color:var(--text);min-width:0;line-height:1.4}
.task-list-family{
  display:inline-flex;align-items:center;padding:1px 6px;border-radius:8px;
  background:var(--bg4);color:var(--text3);font-size:10px;white-space:nowrap
}
.task-list-subline{margin-top:3px;color:var(--text3);font-size:10px;line-height:1.45;word-break:break-word}
.task-list-subline.warning{color:var(--orange)}
.task-list-subline.danger{color:var(--red)}
.task-list-cell{min-width:0;color:var(--text2);font-size:12px;line-height:1.45}
.task-list-cell-label{display:none;color:var(--text3);font-size:10px;margin-bottom:2px}
.task-list-actions{display:flex;align-items:center;justify-content:flex-end;gap:6px;min-width:0}
.task-enable-toggle{min-width:70px;justify-content:center}
.task-row-more{position:relative;display:inline-flex}
.task-row-more>summary{list-style:none;cursor:pointer}
.task-row-more>summary::-webkit-details-marker{display:none}
.task-row-more-menu{
  display:none;position:absolute;right:0;top:calc(100% + 5px);z-index:1300;
  min-width:156px;padding:6px;background:var(--bg2);border:1px solid var(--border2);
  border-radius:8px;box-shadow:0 10px 24px rgba(15,23,42,.2)
}
.task-row-more[open]>.task-row-more-menu{display:flex;flex-direction:column;gap:4px}
.task-row-more-menu .btn{width:100%;justify-content:flex-start}
.task-list-row:nth-last-child(-n+3) .task-row-more-menu{top:auto;bottom:calc(100% + 5px)}
.task-more-interval{display:none!important}
.task-list-empty{display:none;padding:30px 16px;text-align:center;color:var(--text3)}
.task-info-lead{
  padding:12px 14px;border:1px solid var(--border2);border-radius:8px;
  background:var(--bg3);color:var(--text2);font-size:13px;line-height:1.75
}
.task-info-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-top:12px}
.task-info-field{padding:9px 11px;border-radius:7px;background:var(--bg3);min-width:0}
.task-info-field-label{font-size:10px;color:var(--text3);margin-bottom:3px}
.task-info-field-value{font-size:12px;color:var(--text);line-height:1.55;word-break:break-word}
.task-info-note{margin-top:12px;padding:9px 11px;border-radius:7px;background:var(--blue-dim);color:var(--text2);font-size:12px;line-height:1.65}
.task-overview-detail-list{display:grid;gap:7px;margin-top:12px}
.task-overview-detail-row{padding:9px 11px;border:1px solid var(--border2);border-radius:7px;line-height:1.55}

@media(max-width:1050px){
  .task-list-head,.task-list-row{
    grid-template-columns:minmax(230px,1.8fr) minmax(120px,.9fr) 82px 132px 82px minmax(190px,1.2fr);
    column-gap:8px
  }
  .task-list-row{padding-left:10px;padding-right:10px}
  .task-action-interval{padding-left:8px;padding-right:8px}
}
@media(max-width:820px){
  .task-overview-row{grid-template-columns:minmax(0,1fr) auto;gap:7px 10px}
  .task-overview-metrics{grid-column:1/-1;grid-row:2}
  .task-overview-row>.task-info-button{grid-column:2;grid-row:1}
  .task-overview-row>.badge{grid-column:1/-1;grid-row:3;justify-self:start}
  .task-list-head{display:none}
  .task-list-row{
    grid-template-columns:minmax(0,1fr) auto;
    grid-template-areas:'primary status' 'interval last' 'enabled actions';
    gap:9px 14px;padding:11px 12px
  }
  .task-list-primary{grid-area:primary}
  .task-list-status{grid-area:status;text-align:right}
  .task-list-interval{grid-area:interval}
  .task-list-last{grid-area:last;text-align:right}
  .task-list-enabled{grid-area:enabled}
  .task-list-actions{grid-area:actions}
  .task-list-cell-label{display:block}
  .task-list-status .task-list-cell-label{display:none}
}
@media(max-width:640px){
  .task-list-toolbar .form-input,.task-list-toolbar .form-select{width:100%;flex-basis:100%}
  .task-list-row{grid-template-areas:'primary primary' 'status status' 'interval last' 'enabled actions'}
  .task-list-status{text-align:left;display:flex;align-items:center;gap:6px}
  .task-list-status .task-list-cell-label{display:block;margin:0}
  .task-list-title-line{flex-wrap:wrap}
  .task-action-interval{display:none}
  .task-more-interval{display:flex!important}
  .task-market-summary{align-items:flex-start}
  .task-market-summary-meta{gap:4px}
  .task-info-grid{grid-template-columns:1fr}
}

/* ── 产品图片网格 ── */
.img-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(80px,1fr));gap:8px}
.img-thumb{width:100%;aspect-ratio:1;border-radius:var(--radius);object-fit:cover;background:var(--bg3);border:1px solid var(--border)}

/* ── 写作风格卡片 ── */
.style-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:10px}
.style-card{
  padding:12px;border-radius:var(--radius);
  background:var(--bg3);border:2px solid var(--border);
  cursor:pointer;transition:all .15s;
}
.style-card:hover{border-color:var(--text3)}
.style-card.selected{border-color:var(--blue);background:var(--blue-dim)}
.style-name{font-size:13px;font-weight:600;color:var(--text)}
.style-desc{font-size:11px;color:var(--text3);margin-top:4px;line-height:1.5}

/* ── 响应式 ── */
@media(max-width:768px){
  #sidebar{width:56px}
  .logo-text,.logo-ver,.nav-item span:not(.nav-icon){display:none}
  .nav-item{padding:10px;justify-content:center}
  .nav-section{display:none}
  #content{padding:12px}
  .stats-grid{grid-template-columns:repeat(2,1fr)}
  .vsku-metric-section{padding-bottom:8px}
  .vsku-metric-sections{grid-template-columns:1fr}
  .vsku-metric-heading{margin-bottom:5px}
  .vsku-metric-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
  .vsku-metric-strip{grid-template-columns:repeat(2,minmax(0,1fr));gap:4px}
  .vsku-metric-sections .vsku-metric-card{width:auto;flex:none}
}

/* ── 特殊组件 ── */
.chip{
  display:inline-flex;align-items:center;gap:4px;
  padding:2px 8px;background:var(--bg4);border-radius:4px;
  font-size:11px;font-family:var(--mono);color:var(--text2);
}
.divider{border:none;border-top:1px solid var(--border2);margin:16px 0}
.text-mono{font-family:var(--mono)}
.text-dim{color:var(--text3)}
.text-small{font-size:12px}
.flex{display:flex;align-items:center}
.flex-col{display:flex;flex-direction:column}
.gap-4{gap:4px}.gap-8{gap:8px}.gap-12{gap:12px}
.mt-12{margin-top:12px}.mt-16{margin-top:16px}.mt-20{margin-top:20px}
.w-full{width:100%}
.text-right{text-align:right}
.overflow-hidden{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:200px}

/* ── 配置项 ── */
.config-groups-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(320px,1fr));
  gap:12px;
  margin-bottom:16px;
}
.config-panel{
  background:var(--bg2);
  border:1px solid var(--border);
  border-radius:8px;
  overflow:hidden;
}
.config-panel-wide{grid-column:1 / -1}
.config-panel-header{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding:12px 14px 10px;
  border-bottom:1px solid var(--border2);
}
.config-panel-title{font-size:14px;font-weight:700;color:var(--text)}
.config-panel-count{font-size:11px;color:var(--text3)}
.config-fields{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
  gap:10px;
  padding:12px;
  background:var(--bg2);
}
.config-subsections{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
  gap:12px;
  padding:12px;
  background:var(--bg2);
}
.config-subsection{
  min-width:0;
  background:#fff;
  border:1px solid var(--border2);
  border-radius:8px;
  overflow:hidden;
}
.config-subsection-header{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding:10px 12px;
  border-bottom:1px solid var(--border2);
}
.config-subsection-title{font-size:13px;font-weight:800;color:var(--text)}
.config-subsection-desc{font-size:11px;color:var(--text3);white-space:nowrap}
.config-subsection .config-fields{
  padding:10px;
  grid-template-columns:repeat(2,minmax(0,1fr));
  background:#fff;
}
.config-field{
  min-width:0;
  padding:10px;
  background:var(--bg2);
  border:1px solid var(--border2);
  border-radius:6px;
}
.config-field-meta{min-height:42px;margin-bottom:8px}
.config-field-control{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center}
.config-field-control .form-input{width:100%;min-width:0}
@media (max-width:720px){
  .config-groups-grid{grid-template-columns:1fr}
  .config-fields{grid-template-columns:1fr}
  .config-subsections{grid-template-columns:1fr}
  .config-subsection .config-fields{grid-template-columns:1fr}
  .config-field-control{grid-template-columns:1fr}
}
.config-item{
  display:grid;grid-template-columns:220px 1fr auto;align-items:center;gap:12px;
  padding:12px 16px;border-bottom:1px solid var(--border2);
}
.config-item:last-child{border-bottom:none}
.config-key{font-family:var(--mono);font-size:12px;color:var(--text2)}
.config-desc{font-size:11px;color:var(--text3)}

/* ── 黑名单标签 ── */
.blacklist-tags{display:flex;flex-wrap:wrap;gap:6px;padding:12px}
.bl-tag{
  display:inline-flex;align-items:center;gap:4px;
  padding:3px 8px 3px 10px;background:var(--red-dim);border:1px solid var(--red);
  border-radius:10px;font-size:12px;color:var(--red);
}
.bl-tag button{background:none;border:none;color:var(--red);cursor:pointer;font-size:14px;line-height:1;padding:0 0 0 4px;opacity:.7}
.bl-tag button:hover{opacity:1}

  .ex-cat-option:hover { background: var(--accent-dim) !important; color: var(--accent) !important; }
.mini-platform-mark{
  width:18px;height:18px;border-radius:4px;display:inline-grid;place-items:center;
  font-size:9px;font-weight:800;line-height:1;flex:0 0 auto;color:#fff;
}
.sidebar-platform-mark{
  width:28px;height:28px;border-radius:6px;display:grid;place-items:center;
  font-size:11px;font-weight:800;line-height:1;color:#fff;
}
.platform-mark-wf{background:#7c3aed}
.platform-mark-wm{background:#2563eb}
.platform-mark-cd{background:#059669}
.platform-mark-hd{background:#f97316}
.top-disk-stats{
  margin-left:auto;display:flex;align-items:center;gap:6px;min-width:0;flex-wrap:wrap;justify-content:flex-end;
}
.top-disk-pill{
  display:inline-flex;align-items:center;gap:6px;min-width:0;
  padding:3px 8px;border:1px solid rgba(148,163,184,.28);border-radius:6px;
  background:rgba(15,23,42,.7);color:#cbd5e1;font-size:11px;line-height:1.35;white-space:nowrap;
}
.top-disk-pill b{color:#fff;font-size:11px;font-weight:800}
.top-disk-pill .path{color:#94a3b8;font-family:var(--mono);max-width:110px;overflow:hidden;text-overflow:ellipsis}
.top-disk-pill.warn{border-color:rgba(249,115,22,.45);background:rgba(124,45,18,.38);color:#fed7aa}
.top-disk-pill.danger{border-color:rgba(248,113,113,.55);background:rgba(127,29,29,.42);color:#fecaca}
.top-disk-pill.cos{border-color:rgba(34,197,94,.42);background:rgba(20,83,45,.36);color:#bbf7d0}
.top-disk-pill.ssl{border-color:rgba(14,165,233,.42);background:rgba(12,74,110,.36);color:#bae6fd}
.top-disk-pill.warn b{color:#fdba74}
.top-disk-pill.danger b{color:#fca5a5}
.top-disk-pill.cos b{color:#86efac}
.top-disk-pill.ssl b{color:#7dd3fc}
.top-disk-loading{font-size:11px;color:#94a3b8;white-space:nowrap}
@media(max-width:1100px){.top-disk-pill .path{display:none}}
@media(max-width:820px){.top-disk-stats{flex-basis:100%;justify-content:flex-start;margin-left:0}.top-disk-pill{font-size:10px;padding:2px 6px}}

/* Wayfair category overview is retained in PMS as a dormant archive only. */
button[onclick*="showSkuMappingOverviews"] {
  display: none !important;
}
#wf-template-overview-list {
  display: none !important;
}

