/*
 * 企业后台视觉优化层。
 * 仅覆盖颜色、尺寸、间距、排版与轻微反馈；不改变结构、字段、数据或交互。
 */
:root{
  --primary:#2f5f8f;
  --primary-hover:#274f77;
  --primary-soft:#edf3f8;
  --nav-deep:#101c2c;
  --nav-deeper:#0c1624;
  --nav-active:#1c3550;
  --page-bg:#f3f6f9;
  --card:#ffffff;
  --line:#dfe5eb;
  --line-strong:#cfd8e2;
  --text:#1f2b3a;
  --text-secondary:#5f6d7c;
  --text-muted:#7d8996;
  --green:#2c7a5a;
  --orange:#a66b27;
  --red:#a94b55;
  --gray:#66717e;
  --shadow:0 3px 12px rgba(24,39,56,.055);
  --shadow-hover:0 7px 20px rgba(24,39,56,.08);
  --radius:9px;
}

*{box-sizing:border-box}
html,body,button,input,select,textarea,table{
  font-family:"Microsoft YaHei UI","Microsoft YaHei","Segoe UI",Arial,sans-serif;
}
html,body{
  font-size:14px;font-weight:400;line-height:1.55;
  color:var(--text);background:var(--page-bg);
}
body,button,input,select,textarea{font-weight:400}
.app-shell{background:var(--page-bg)}

/* 左侧两级菜单：54 + 172 = 226px */
.primary-rail,
body[data-display-mode="compact"] .primary-rail,
body[data-display-mode="large"] .primary-rail{
  width:54px;padding:10px 5px;background:var(--nav-deeper);
  border-right:1px solid #203044;box-shadow:none;
}
.primary-mark{
  width:34px;height:34px;margin:0 auto 14px;border-radius:8px;
  background:#315f8d;color:#fff;box-shadow:none;
  font-size:13px;font-weight:600;
}
.primary-nav{gap:5px}
.primary-nav-item{
  min-height:52px;padding:6px 2px;gap:4px;border-radius:7px;
  color:#93a1b2;font-size:10px;line-height:1.25;
  transition:background-color 150ms ease,color 150ms ease,border-color 150ms ease;
}
.primary-nav-item i{
  width:22px;height:22px;display:grid;place-items:center;
  border:1px solid transparent;border-radius:6px;
  color:#9babc0;font-size:15px;line-height:1;font-weight:400;
}
.primary-nav-item:hover{background:#17273a;color:#fff}
.primary-nav-item:hover i{border-color:#31465f;color:#d8e2ed}
.primary-nav-item.active{background:#1b3048;color:#fff}
.primary-nav-item.active i{border-color:#456583;color:#dbe8f3}
.primary-nav-item.active:before{
  left:-5px;top:10px;bottom:10px;width:3px;background:#7ca4c7;
}

.sidebar,
body[data-display-mode="compact"] .sidebar,
body[data-display-mode="large"] .sidebar{
  left:54px;width:172px;background:var(--nav-deep);
  border-right:1px solid #223348;box-shadow:3px 0 12px rgba(10,22,36,.06);
}
.sidebar .brand{height:62px;padding:0 12px;border-color:#24354a}
.sidebar .brand b{font-size:13px;font-weight:600;line-height:1.45;color:#f3f6f9}
.sidebar .brand span{margin-top:2px;font-size:10px;color:#8493a5}
.sidebar nav{padding:8px 8px 16px}
.nav-group-title{
  margin:0 0 7px;padding:0 7px 9px;border-color:#26384d;
  color:#e2e8ef;font-size:13px;font-weight:600;
}
.nav-group-title b{background:#1a2a3f;color:#91a2b5;font-weight:500}
.nav-sublist .nav-item{
  min-height:38px;margin:2px 0;padding:8px 9px;border-radius:7px;
  color:#aeb9c6;font-size:12.5px;font-weight:400;line-height:1.4;
  transition:background-color 150ms ease,color 150ms ease;
}
.nav-sublist .nav-item:hover{background:#172a3f;color:#fff}
.nav-sublist .nav-item.active{
  background:var(--nav-active);color:#fff;font-weight:500;
  box-shadow:inset 3px 0 0 #83a7c7;
}
.nav-badge,.pending-badge,.patrol-badge{
  min-width:20px;height:18px;padding:0 5px;border-radius:5px;
  background:#315f8d;color:#fff;font-size:10px;font-weight:500;
}
.sidebar-foot{
  padding:12px 11px;background:var(--nav-deeper);border-color:#24354a;
  color:#9aa7b7;font-size:11px;gap:6px;
}

.status-dot{width:7px;height:7px;background:#5f9d7e;box-shadow:0 0 0 3px rgba(95,157,126,.12)}

main,
body[data-display-mode="compact"] main,
body[data-display-mode="large"] main{
  margin-left:226px;width:calc(100% - 226px);
}

/* 顶栏和页面留白 */
.topbar{
  min-height:62px;height:62px;padding:0 22px;background:#fff;
  border-color:var(--line);box-shadow:0 1px 5px rgba(24,39,56,.025);
}
.topbar h1{margin:0 0 2px;font-size:21px;font-weight:600;line-height:1.3;color:var(--text)}
.topbar p{font-size:12px;line-height:1.4;color:var(--text-muted)}
.top-actions{gap:7px;min-width:0}
.date-chip{margin-right:2px;font-size:12px;color:var(--text-muted);white-space:nowrap}
.content,
body[data-display-mode="compact"] .content,
body[data-display-mode="large"] .content{
  width:100%;max-width:1680px;margin:0 auto;padding:20px 22px 36px;
}

/* 按钮、搜索和输入控件 */
.btn{
  min-height:34px;height:34px;padding:0 13px;border:1px solid #d4dce4;
  border-radius:7px;background:#fff;color:#344454;
  font-size:13px;font-weight:400;box-shadow:none;
  transition:background-color 150ms ease,border-color 150ms ease,color 150ms ease,box-shadow 150ms ease;
}
.btn:hover{background:#f6f8fa;border-color:#b9c5d0;color:#223445;filter:none}
.btn:focus-visible,.icon-btn:focus-visible,.nav-item:focus-visible,.primary-nav-item:focus-visible{
  outline:2px solid rgba(47,95,143,.32);outline-offset:2px;
}
.btn.primary,.selector-start{
  background:var(--primary);border-color:var(--primary);color:#fff;font-weight:500;box-shadow:none;
}
.btn.primary:hover,.selector-start:hover{background:var(--primary-hover);border-color:var(--primary-hover)}
.btn.danger{color:#93434c;border-color:#e5c9cd;background:#fffafa}
.btn.danger:hover{color:#833841;border-color:#d8b6bb;background:#fdf4f5}
.btn.small{min-height:30px;height:30px;padding:0 10px;font-size:12px}
.btn.link,.code-link,.business-table a{min-height:auto;height:auto;padding:0;border:0;background:transparent;color:#315f8d;font-weight:400}
.btn.link:hover,.code-link:hover,.business-table a:hover{background:transparent;color:#254d75;text-decoration:underline;text-underline-offset:3px}
.icon-btn{background:#f2f5f7;color:#607080;border-radius:7px;transition:background-color 150ms ease,color 150ms ease}
.icon-btn:hover{background:#e8edf1;color:#344454}

.display-mode-select,.search,.filter,.field input,.field select,.field textarea,
.qc-line-editor input,.qc-line-editor select,.qc-defect-row input,.qc-defect-row select,
.qc-form input,.qc-form select,.qc-form textarea,.official-query-box input,
.page-size,.page-jump{
  min-height:34px;border:1px solid #d4dce4;border-radius:7px;
  background:#fff;color:#2c3b4b;font-size:13px;
  transition:border-color 150ms ease,box-shadow 150ms ease,background-color 150ms ease;
}
.search{width:300px;padding:0 11px}
.filter,.display-mode-select{height:34px;padding:0 10px}
.field input,.field select{height:36px}
.field textarea{min-height:80px;height:auto;padding:9px 10px;line-height:1.55}
.search:focus,.filter:focus,.display-mode-select:focus,
.field input:focus,.field select:focus,.field textarea:focus,
.official-query-box input:focus,.qc-line-editor input:focus,.qc-line-editor select:focus,
.qc-form input:focus,.qc-form select:focus,.qc-form textarea:focus{
  outline:none;border-color:#668bb0;box-shadow:0 0 0 3px rgba(47,95,143,.09);
}
.field label{margin-bottom:6px;color:#536271;font-size:12px;font-weight:400}

/* 工具栏和信息区 */
.toolbar,.business-toolbar,.qc-topline,.notification-actions{
  gap:10px;margin-bottom:16px;align-items:center;flex-wrap:wrap;
}
.toolbar-left,.toolbar-right,.business-toolbar .left,.qc-search-actions{
  gap:8px;align-items:center;flex-wrap:wrap;
}
.audit-banner,.filter-trace,.import-banner,.form-note{
  margin-bottom:16px;padding:11px 14px;border:1px solid #d5e0ea;
  border-radius:8px;background:#f3f7fa;color:#4c6174;font-size:12px;line-height:1.6;
}
.audit-banner b{color:#31536f;font-weight:600}
.filter-trace.trace-ok{border-color:#cfe0d7;background:#f2f8f5;color:#3e6d58}
.filter-trace.trace-warning{border-color:#e2d4bc;background:#fbf7ef;color:#795d34}

/* 卡片、统计区和分区 */
.panel,.metric-card,.business-card,.business-summary,.qc-po-card,.qc-guide section,
.setting-card,.decision-legend,.quality-strip,.official-query-box,.lookup-result,
.center-overview-card,.qc-flow-card{
  border:1px solid var(--line);border-radius:var(--radius);background:var(--card);
  box-shadow:var(--shadow);
}
.panel+.panel{margin-top:18px}
.grid-2{gap:18px}
.panel-head{min-height:56px;height:auto;padding:13px 18px;border-color:var(--line)}
.panel-title,.panel-head h2,.panel-head h3,.business-card h3,.qc-po-head h3{
  color:var(--text);font-size:16px;font-weight:600;line-height:1.4;
}
.panel-subtitle{margin-left:8px;color:var(--text-muted);font-size:12px;font-weight:400}
.panel-body{padding:18px}
.business-card,.setting-card{padding:18px}
.metric-grid,.business-kpis,.qc-dashboard-kpis{gap:16px;margin-bottom:18px}
.metric-card{min-height:92px;padding:16px 18px;border-top:2px solid #6385a6;overflow:hidden}
.metric-card:after,.qc-dashboard-kpis button:after{content:none}
.metric-card .label,.business-kpis span,.qc-dashboard-kpis span{font-size:12px;font-weight:400;color:var(--text-secondary)}
.metric-card .value,.business-kpis b,.qc-dashboard-kpis b{margin:5px 0;font-size:24px;font-weight:600;color:var(--text)}
.metric-card .hint,.business-kpis small,.qc-dashboard-kpis small{font-size:11px;color:var(--text-muted)}
.metric-link,.business-kpis button,.qc-dashboard-kpis button{
  transition:border-color 150ms ease,background-color 150ms ease,box-shadow 150ms ease;
}
.metric-link:hover,.business-kpis button:hover,.qc-dashboard-kpis button:hover{
  transform:none;border-color:#c4d0db;background:#fbfcfd;box-shadow:var(--shadow-hover);
}

.center-overview-switcher{gap:16px;margin-bottom:18px}
.center-overview-card{min-height:98px;padding:16px 18px;border-top:3px solid #6c8cab}
.center-overview-card span{font-size:12px;color:var(--text-secondary)}
.center-overview-card b{font-size:22px;font-weight:600;color:var(--text)}
.center-overview-card small{font-size:11px;line-height:1.55;color:var(--text-muted)}
.center-overview-card i{font-size:12px;font-weight:500;color:var(--primary)}

/* 重点页头使用纯色，不使用大面积渐变 */
.business-hero,.qc-dashboard-hero,.help-hero,.patrol-summary,.selector-card{
  border:1px solid #284966;border-radius:10px;background:#18324c;color:#fff;
  box-shadow:0 5px 16px rgba(20,42,63,.12);
}
.business-hero:after,.qc-dashboard-hero:after,.help-hero:after,.patrol-summary:after,.selector-card:after{content:none}
.business-hero{min-height:118px;margin-bottom:18px;padding:20px 22px}
.business-hero h2{margin:2px 0 5px;font-size:22px;font-weight:600}
.business-hero p,.qc-dashboard-hero p,.help-hero p,.patrol-summary p,.selector-card p{color:#c2cfdb}
.business-hero .hero-data{gap:24px}
.business-hero .hero-data b{font-size:23px;font-weight:600}
.qc-dashboard-hero{margin-bottom:18px;padding:20px 22px}
.qc-hero-focus{border-color:#49647d;background:#213d57;color:#fff}
.selector-card{padding:20px 22px}
.selector-card input,.selector-card select{border:1px solid #bdcad6;background:#fff;color:#243444}
.selector-extra-actions .btn{border-color:#627b92;background:#213d57;color:#fff}
.selector-extra-actions .btn:hover{background:#294862;border-color:#7990a5}
.selector-selection-note{border-color:#516a81;background:#203b54;color:#fff}
.selector-back{background:#fff!important;color:#274f77!important;border-color:#fff!important}

.business-kpis{grid-template-columns:repeat(5,minmax(130px,1fr))}
.business-kpis button,.qc-dashboard-kpis button{
  min-height:92px;padding:15px 16px;border:1px solid var(--line);
  border-top:2px solid #6c8cab;border-radius:9px;background:#fff;box-shadow:var(--shadow);
}
.business-flow{gap:10px}
.business-flow button{padding:12px 14px;border:1px solid var(--line);border-radius:8px;background:#f7f9fb;color:#2d3c4b}
.business-flow b{font-size:19px;font-weight:600}
.business-flow span{font-size:11px;color:var(--text-secondary)}
.business-layout{gap:18px}
.business-summary{min-height:86px;margin-bottom:16px;overflow:hidden}
.business-summary button{min-height:86px;padding:14px 16px;background:#fff}
.business-summary button:hover{background:#f7f9fb}
.business-summary button.active{background:#eef3f7;box-shadow:inset 0 -3px 0 var(--primary)}
.business-summary span{font-size:12px;font-weight:400;color:var(--text-secondary)}
.business-summary b{margin-top:4px;font-size:22px;font-weight:600;color:var(--text)}
.business-summary small{margin-top:3px;font-size:11px;color:var(--text-muted)}
.business-tabs button,.risk-group-tabs .tab{border-radius:6px;background:#eef2f5;color:#536271}
.business-tabs button.active,.risk-group-tabs .tab.active{background:#27445f;border-color:#27445f;color:#fff}

/* 表格：保留全部列，超宽时横向滚动 */
.table-wrap,.smart-table-wrap{
  width:100%;overflow-x:auto;overflow-y:visible;border-color:var(--line);
  scrollbar-color:#b6c2cd #edf1f4;scrollbar-width:thin;
}
.table-wrap::-webkit-scrollbar,.smart-table-wrap::-webkit-scrollbar{height:9px}
.table-wrap::-webkit-scrollbar-track,.smart-table-wrap::-webkit-scrollbar-track{background:#edf1f4}
.table-wrap::-webkit-scrollbar-thumb,.smart-table-wrap::-webkit-scrollbar-thumb{background:#b6c2cd;border:2px solid #edf1f4;border-radius:8px}
table{width:100%;min-width:max-content;border-collapse:collapse;background:#fff;font-variant-numeric:tabular-nums}
thead th,table th,.qc-line-table th,.qc-guide-table th{
  height:42px!important;min-height:42px;padding:0 12px!important;
  background:#f1f4f7!important;color:#526273!important;
  border-bottom:1px solid #d7dfe7!important;
  font-size:12px!important;font-weight:600!important;line-height:1.35;vertical-align:middle;box-shadow:none!important;
}
tbody td,table td,.qc-line-table td{
  min-height:46px;height:46px;padding:7px 12px;color:#2b3948;
  border-bottom:1px solid #e7ebef;font-size:13px;font-weight:400;line-height:1.5;vertical-align:middle;
}
tbody tr:nth-child(even):not(.disabled-row):not(.recycled-row) td{background:#fbfcfd}
tbody tr:hover td,table tbody tr:hover td{background:#f2f6f9!important}
tbody td b,.table-wrap td b,.business-table td b,.qc-line-table td b{font-weight:500}
.code{font-family:"Segoe UI","Microsoft YaHei UI",sans-serif;color:#344d63;font-weight:400}
.actions,.row-actions-01{gap:6px;align-items:center}
.sku-detail{padding:12px 16px 15px 44px}
.sku-detail-caption{margin-bottom:9px;padding:8px 10px;border-left:3px solid #7698b8;border-radius:0 6px 6px 0;background:#f0f4f7}
.sku-detail-caption b{font-size:12px;font-weight:600;color:#31485d}
.sku-detail-caption span{font-size:11px;color:#738190}
.sku-detail table{border:1px solid #dfe6ec;background:#fff}
.sku-detail table thead{display:table-header-group!important}
.sku-detail table thead th{height:38px!important;min-height:38px;background:#e9eef3!important;color:#5b6a79!important;font-size:11px!important;font-weight:500!important}
.sku-detail table td{height:42px!important;background:#fff!important}
.sku-detail .raw-tip{margin-top:8px;font-size:11px;color:var(--text-muted)}
.pagination{padding:11px 13px;gap:10px;border-color:var(--line);font-size:12px;color:var(--text-secondary)}

/* 状态色保持语义，降低饱和度 */
.tag,.qc-status,.risk-pill,.wecom-state,.permission-chip,.match-label,.qc-photo-count{
  min-height:23px;padding:2px 8px;border-radius:5px;font-size:11px;font-weight:500;line-height:1.45;
}
.tag.green,.qc-status.good,.wecom-state.sent{color:#28684f;background:#eaf4ef}
.tag.orange,.qc-status.warn,.risk-pill{color:#845b2c;background:#f8f0e4}
.tag.red,.qc-status.bad,.risk-pill.high,.wecom-state.failed{color:#8e414a;background:#f8e9eb}
.tag.gray,.qc-status,.wecom-state{color:#5d6874;background:#edf0f2}
.tag.blue,.match-label,.qc-photo-count{color:#315f8f;background:#eaf0f5}
.tag.purple{color:#64568e;background:#efedf5}
.business-alert{border-left-color:#a94b55;background:#fbf0f1}
.business-alert.warn{border-color:#b77b34;background:#faf3e9}
.business-alert.good{border-color:#4c8a6c;background:#eff7f3}

/* 图片区、空状态和提示 */
.image-paste-zone,.silver-paste-zone,.qc-photo-paste,.qc-paste-panel{
  min-height:100px;padding:16px;border-color:#aebdca;border-radius:8px;background:#f5f8fa;color:#4e6476;
}
.silver-paste-zone:hover,.silver-paste-zone:focus,.image-paste-zone:focus,.qc-photo-paste:focus{
  border-color:#668bb0;background:#f2f6f9;box-shadow:0 0 0 3px rgba(47,95,143,.08);
}
.silver-paste-zone.has-image{border-color:#8db7a1;background:#f1f7f4}
.product-thumb,.product-placeholder,.silver-thumb,.silver-preview,.qc-photo-card,.qc-detail-photo{
  border-color:#d9e1e8;border-radius:7px;background:#f6f8fa;
}
.empty,.empty-business,.qc-empty{padding:48px 20px;color:var(--text-muted)}
.empty b,.empty-business b,.qc-empty b{color:#465767;font-weight:600}

/* 弹窗和表单 */
.modal-wrap{padding:24px;background:rgba(13,24,36,.56);backdrop-filter:blur(2px)}
.modal{
  width:min(900px,calc(100vw - 48px));max-height:calc(100vh - 48px);
  border-radius:10px;background:#fff;box-shadow:0 22px 60px rgba(13,24,36,.25);
}
.business-wide-modal .modal{width:min(1120px,calc(100vw - 48px))}
.modal-head{padding:18px 20px;border-color:var(--line)}
.modal-head h2{margin:0 0 4px;font-size:18px;font-weight:600;color:var(--text)}
.modal-head p{font-size:12px;line-height:1.5;color:var(--text-muted)}
.modal-body{padding:20px;overflow:auto}
.modal-foot{padding:16px 20px;border-color:var(--line);gap:8px}
.form-grid{gap:16px 18px}
.form-section{margin-top:6px;padding-top:16px;border-color:var(--line)}
.setting-grid{gap:18px}
.setting-card h3{font-size:16px;font-weight:600;color:var(--text)}
.setting-card>p{font-size:12px;line-height:1.55;color:var(--text-muted)}
.toast{right:24px;bottom:24px;padding:11px 15px;border-radius:7px;background:#17283a;font-size:12px;box-shadow:0 8px 24px rgba(13,24,36,.2);transition:opacity 150ms ease,transform 150ms ease}
.toast.error{background:#8f424a}

/* 其他业务组件 */
.tabs{border-color:var(--line)}
.tab{color:#637282}
.tab.active{color:var(--primary);border-color:var(--primary);font-weight:500}
.progress,.coverage-summary .coverage-progress{background:#e7ecf0}
.progress i,.qc-progress i,.coverage-summary .coverage-progress i{background:#5d82a5}
.candidate-card{border-color:#dfcfb6;background:#fbf8f2;color:#2d3b49}
.candidate-card:hover{border-color:#c9ad82;background:#faf5ec;box-shadow:0 4px 13px rgba(104,78,38,.08)}
.candidate-card span{color:#795c32}
.completion-card:hover{border-color:#9eb3c6;background:#f5f8fa}
.detail-grid dt{background:#f1f4f7;color:#596979}
.lookup-title,.coverage-modal-summary{background:#f2f6f9;border-color:#d8e2eb}
.no-match .lookup-title{background:#faf5ec}
.coverage-modal-summary b,.import-numbers strong{color:var(--primary)}
.official-query-box,.lookup-result{border-color:#d5e0ea}
.quality-strip button{background:#f1f4f7;color:#526474}
.quality-strip button:hover{background:#e8eef3;color:#315f8f}
.quality-strip strong{color:var(--text)}
.qc-po-card{margin-bottom:18px}
.qc-po-head{padding:16px 18px}
.qc-flow-card{border-radius:8px;background:#f6f8fa}
.brand-icon,.login-mark{background:#315f8d;box-shadow:none}
.login-overlay{background:#eef2f5}
.login-card{border-color:#d8e0e7;border-radius:10px;box-shadow:0 18px 48px rgba(17,32,48,.14)}
.import-banner,.qc-merged-strip{background:#f2f6f9}
.image-viewer-stage{background:#121e2b}

/* 1366×768：压缩无效空白，不隐藏字段、按钮或表格列 */
@media(max-width:1400px){
  .topbar{padding:0 18px}
  .content,
  body[data-display-mode="compact"] .content,
  body[data-display-mode="large"] .content{padding:18px 18px 30px}
  .top-actions{gap:5px}
  .top-actions .btn{padding-left:10px;padding-right:10px}
  .date-chip{font-size:11px}
  .business-kpis{grid-template-columns:repeat(5,minmax(118px,1fr));gap:12px}
  .business-kpis button{padding-left:12px;padding-right:12px}
  .metric-grid,.qc-dashboard-kpis{gap:12px}
  .panel-body,.business-card,.setting-card{padding:16px}
  .center-overview-switcher{gap:12px}
}

/* 更窄窗口仍保留全部内容，通过换行和横向滚动处理 */
@media(max-width:1200px){
  .topbar{height:auto;min-height:62px;padding-top:8px;padding-bottom:8px;gap:10px;flex-wrap:wrap}
  .top-actions{flex-wrap:wrap;justify-content:flex-end}
  .recommend{min-width:900px;grid-template-columns:45px minmax(260px,1fr) 110px 110px 125px 120px}
  .recommend>*:nth-last-child(-n+2){display:block!important}
  .business-kpis{grid-template-columns:repeat(3,minmax(150px,1fr))}
  .center-overview-switcher{grid-template-columns:repeat(3,minmax(0,1fr))}
}

@media(max-width:850px){
  .primary-rail,
  body[data-display-mode="compact"] .primary-rail,
  body[data-display-mode="large"] .primary-rail{width:54px;padding-left:5px;padding-right:5px}
  .primary-nav-item span{display:block!important}
  .sidebar,
  body[data-display-mode="compact"] .sidebar,
  body[data-display-mode="large"] .sidebar{left:54px;width:172px}
  .sidebar-foot{display:grid!important}
  .sidebar .nav-item,.sidebar .nav-item.active,.sidebar .nav-item:not(.active){justify-content:flex-start;font-size:12.5px!important}
  main,
  body[data-display-mode="compact"] main,
  body[data-display-mode="large"] main{margin-left:226px;width:calc(100% - 226px)}
  .content{padding:16px}
}

@media(min-width:1700px){
  .content{padding-left:24px;padding-right:24px}
  .metric-grid,.business-kpis,.qc-dashboard-kpis{gap:18px}
}

/* 全系统表格：取消左右横向固定列，所有列随横向滚动条同步移动 */
.table-wrap thead th{
  position:static!important;
  left:auto!important;
  right:auto!important;
  z-index:auto!important;
  box-shadow:none!important;
}
.table-wrap.smart-table-wrap thead th{
  position:sticky!important;
  top:0!important;
  left:auto!important;
  right:auto!important;
  z-index:5!important;
  box-shadow:none!important;
}
.table-wrap tbody td{
  position:static!important;
  left:auto!important;
  right:auto!important;
  z-index:auto!important;
  box-shadow:none!important;
}

/*
 * 全系统高级视觉换肤层。
 * 仅覆盖颜色、边框颜色、圆角、阴影、字重和轻微状态反馈；
 * 不覆盖尺寸、间距、定位、栅格、滚动方式或组件结构。
 */
:root{
  --nav:#111827;
  --nav2:#1f2937;
  --primary:#315efb;
  --primary2:#284dce;
  --primary-hover:#284dce;
  --primary-soft:#eef2ff;
  --nav-deep:#111827;
  --nav-deeper:#0b1220;
  --nav-active:#223154;
  --bg:#f5f7fa;
  --page-bg:#f5f7fa;
  --card:#ffffff;
  --line:#e4e7ec;
  --line-strong:#d0d5dd;
  --text:#172033;
  --text-secondary:#667085;
  --text-muted:#98a2b3;
  --muted:#667085;
  --green:#2e8b57;
  --orange:#d97706;
  --red:#d64545;
  --gray:#8a94a6;
  --purple:#6f5aa8;
  --shadow:0 2px 8px rgba(16,24,40,.05);
  --shadow-hover:0 4px 12px rgba(16,24,40,.08);
  --radius:9px;
}

html,body,.app-shell{background:#f5f7fa;color:#172033}
body,button,input,select,textarea{font-weight:400}
::selection{background:#dfe6ff;color:#172033}

/* 标题栏、一级与二级导航 */
.primary-rail{background:#0b1220;background-image:none;border-color:#253044;box-shadow:none}
.primary-mark,.brand-icon,.login-mark{
  background:#315efb;background-image:none;color:#fff;box-shadow:none
}
.primary-nav-item{color:#98a2b3}
.primary-nav-item i{color:#aeb7c5;border-color:transparent}
.primary-nav-item:hover{background:#172033;color:#f2f4f7}
.primary-nav-item:hover i{border-color:#344054;color:#e4e7ec}
.primary-nav-item.active{background:#223154;color:#fff;box-shadow:none}
.primary-nav-item.active i{border-color:#51618b;color:#fff}
.primary-nav-item.active:before{background:#6f8bff}

.sidebar,.sidebar-foot{
  background:#111827;background-image:none;border-color:#253044;box-shadow:none
}
.sidebar .brand{border-color:#253044}
.sidebar .brand b{color:#f8fafc;font-weight:600}
.sidebar .brand span{color:#98a2b3}
.nav-group-title{color:#e4e7ec;border-color:#2a3648;font-weight:600}
.nav-group-title:hover{background:#172033}
.nav-group-title i,.nav-group-title b{background:#1f2937;color:#aeb7c5}
.nav-sublist .nav-item{color:#c1c7d0;font-weight:400}
.nav-sublist .nav-item:hover{background:#1f2937;color:#fff}
.nav-sublist .nav-item.active{
  background:#223154;color:#fff;font-weight:500;box-shadow:inset 3px 0 0 #6f8bff
}
.nav-badge,.pending-badge,.patrol-badge{background:#3e65d6;color:#fff}
.sidebar-foot{color:#aeb7c5}

.status-dot{background:#5c9b75;box-shadow:0 0 0 3px rgba(92,155,117,.14)}

.topbar{background:#fff;border-color:#e4e7ec;box-shadow:0 1px 2px rgba(16,24,40,.035)}
.topbar h1{color:#172033;font-weight:600}
.topbar p,.date-chip{color:#98a2b3}

/* 按钮及操作入口 */
.btn{
  background:#fff;border-color:#d0d5dd;color:#344054;font-weight:400;box-shadow:none;
  transition:background-color 150ms ease,border-color 150ms ease,color 150ms ease,box-shadow 150ms ease
}
.btn:hover{background:#f8fafc;border-color:#98a2b3;color:#172033;filter:none;transform:none}
.btn.primary,.selector-start{background:#315efb;border-color:#315efb;color:#fff;font-weight:500;box-shadow:none}
.btn.primary:hover,.selector-start:hover{background:#284dce;border-color:#284dce;color:#fff;transform:none}
.btn.danger{background:#fff7f7;border-color:#efcaca;color:#b83c3c}
.btn.danger:hover{background:#fff0f0;border-color:#dfa7a7;color:#a52f2f}
.btn.link,.code-link,.business-table a{background:transparent;color:#315efb}
.btn.link:hover,.code-link:hover,.business-table a:hover{background:transparent;color:#284dce}
.btn:disabled,.btn[disabled]{background:#f2f4f7;border-color:#e4e7ec;color:#98a2b3;box-shadow:none}
.icon-btn{background:#f2f4f7;color:#667085;box-shadow:none}
.icon-btn:hover{background:#e4e7ec;color:#344054;transform:none}
.btn:focus-visible,.icon-btn:focus-visible,.nav-item:focus-visible,.primary-nav-item:focus-visible{
  outline-color:rgba(49,94,251,.45)
}

/* 输入框、筛选、搜索及表单 */
.display-mode-select,.search,.filter,.field input,.field select,.field textarea,
.qc-line-editor input,.qc-line-editor select,.qc-defect-row input,.qc-defect-row select,
.qc-form input,.qc-form select,.qc-form textarea,.official-query-box input,
.page-size,.page-jump,.selector-card input,.selector-card select{
  background:#fff;border-color:#d0d5dd;color:#344054;box-shadow:none
}
input::placeholder,textarea::placeholder{color:#98a2b3}
.search:focus,.filter:focus,.display-mode-select:focus,
.field input:focus,.field select:focus,.field textarea:focus,
.official-query-box input:focus,.qc-line-editor input:focus,.qc-line-editor select:focus,
.qc-form input:focus,.qc-form select:focus,.qc-form textarea:focus{
  border-color:#315efb;box-shadow:0 0 0 2px rgba(49,94,251,.10)
}
input:disabled,select:disabled,textarea:disabled{background:#f2f4f7;color:#98a2b3;border-color:#e4e7ec}
input[type="checkbox"],input[type="radio"]{accent-color:#315efb}
.field label{color:#667085;font-weight:400}
.field label em,.danger-text{color:#d64545}

/* 卡片、看板、统计数据及业务分区 */
.panel,.metric-card,.business-card,.business-summary,.qc-po-card,.qc-guide section,
.setting-card,.decision-legend,.quality-strip,.official-query-box,.lookup-result,
.center-overview-card,.qc-flow-card,.expiry-item,.candidate-card,.completion-card{
  background:#fff;border-color:#e4e7ec;border-radius:9px;box-shadow:0 2px 8px rgba(16,24,40,.05)
}
.panel-head,.modal-head,.modal-foot,.qc-po-head{border-color:#eef1f5}
.panel-title,.panel-head h2,.panel-head h3,.business-card h3,.qc-po-head h3,
.setting-card h3,.empty b,.empty-business b,.qc-empty b{color:#172033;font-weight:600}
.panel-subtitle,.setting-card>p,.empty,.empty-business,.qc-empty{color:#98a2b3}
.metric-card,.business-kpis button,.qc-dashboard-kpis button,.center-overview-card{
  border-color:#e4e7ec;border-top-color:#7189d8;background:#fff;box-shadow:0 2px 8px rgba(16,24,40,.05)
}
.metric-card .label,.business-kpis span,.qc-dashboard-kpis span,.center-overview-card span{color:#667085;font-weight:400}
.metric-card .value,.business-kpis b,.qc-dashboard-kpis b,.center-overview-card b{
  color:#172033;font-weight:600
}
.metric-card .hint,.business-kpis small,.qc-dashboard-kpis small,.center-overview-card small{color:#98a2b3}
.metric-card:after,.qc-dashboard-kpis button:after{background:#eef2ff}
.metric-link:hover,.business-kpis button:hover,.qc-dashboard-kpis button:hover,.center-overview-card:hover{
  background:#fafbff;border-color:#bdc8ee;box-shadow:0 4px 12px rgba(16,24,40,.08);transform:none
}
.business-summary button{background:#fff;color:#344054}
.business-summary button:hover{background:#f8fafc;transform:none}
.business-summary button.active{background:#eef2ff;box-shadow:inset 0 -3px 0 #315efb}
.business-summary span,.business-flow span{color:#667085}
.business-summary b,.business-flow b{color:#172033;font-weight:600}
.business-summary small{color:#98a2b3}
.business-flow button{background:#f8fafc;border-color:#e4e7ec;color:#344054;box-shadow:none}
.business-flow button:hover{background:#eef2ff;border-color:#c7d2fe;transform:none}
.center-overview-card i{color:#315efb}

/* 重点页头：纯色、无渐变、无发光 */
.business-hero,.qc-dashboard-hero,.help-hero,.patrol-summary,.selector-card{
  background:#1e3a5f;background-image:none;border-color:#294d72;color:#fff;
  border-radius:9px;box-shadow:0 3px 10px rgba(16,24,40,.10)
}
.business-hero h2,.qc-dashboard-hero h2,.help-hero h2,.selector-card h2{color:#fff;font-weight:600}
.business-hero p,.qc-dashboard-hero p,.help-hero p,.patrol-summary p,.selector-card p{color:#cbd5e1}
.business-hero .hero-data b{color:#fff;font-weight:600}
.qc-hero-focus,.selector-extra-actions .btn,.selector-selection-note{
  background:#29496a;border-color:#496581;color:#fff;box-shadow:none
}
.selector-extra-actions .btn:hover{background:#315474;border-color:#617d98}
.selector-back{background:#fff!important;border-color:#fff!important;color:#284dce!important}

/* 工具栏、信息条和提示 */
.audit-banner,.filter-trace,.import-banner,.form-note,.qc-merged-strip{
  background:#f6f8fc;background-image:none;border-color:#dbe2ea;color:#526071;box-shadow:none
}
.audit-banner b{color:#1e3a5f;font-weight:600}
.filter-trace.trace-ok,.success-box,.suggestion-ok{background:#eef7f2;border-color:#c8e1d3;color:#276747}
.filter-trace.trace-warning,.compliance-note,.coverage-export{background:#fff8ed;border-color:#edd6b2;color:#89560f}
.import-banner,.qc-merged-strip{background:#f6f8fc;background-image:none}
.lookup-title,.coverage-modal-summary,.sku-detail-caption{background:#f6f8fc;border-color:#e4e7ec}
.no-match .lookup-title{background:#fff8ed}
.official-query-box,.lookup-result{border-color:#e4e7ec}

/* 表格、分页及滚动条 */
table{background:#fff;color:#344054}
thead th,table th,.qc-line-table th,.qc-guide-table th{
  background:#f2f5f9!important;color:#667085!important;border-color:#e4e7ec!important;
  font-weight:600!important;box-shadow:none!important
}
tbody td,table td,.qc-line-table td{color:#344054;border-color:#eef1f5;font-weight:400}
tbody tr:nth-child(even):not(.disabled-row):not(.recycled-row) td{background:#fbfcfe}
tbody tr:hover td,table tbody tr:hover td{background:#f3f6fb!important}
tbody td b,.table-wrap td b,.business-table td b,.qc-line-table td b{font-weight:500}
.code{color:#3f526d;font-weight:400}
.sku-detail-caption b{color:#344054;font-weight:600}
.sku-detail-caption span,.sku-detail .raw-tip{color:#98a2b3}
.sku-detail table{background:#fff;border-color:#e4e7ec}
.sku-detail table thead th{background:#eaf0f6!important;color:#667085!important;font-weight:500!important}
.sku-detail table td{background:#fff!important}
.pagination{border-color:#e4e7ec;color:#667085;background:#fff}
.table-wrap,.smart-table-wrap{scrollbar-color:#aeb8c5 #eef1f5}
.table-wrap::-webkit-scrollbar-track,.smart-table-wrap::-webkit-scrollbar-track{background:#eef1f5}
.table-wrap::-webkit-scrollbar-thumb,.smart-table-wrap::-webkit-scrollbar-thumb{
  background:#aeb8c5;border-color:#eef1f5
}

/* 标签页与状态标签 */
.tabs{border-color:#e4e7ec}
.tab{color:#667085;font-weight:400}
.tab:hover{color:#344054;background:#f8fafc}
.tab.active{color:#315efb;border-color:#315efb;font-weight:500}
.business-tabs button,.risk-group-tabs .tab{background:#f2f4f7;color:#667085;box-shadow:none}
.business-tabs button:hover,.risk-group-tabs .tab:hover{background:#e9edf3;color:#344054}
.business-tabs button.active,.risk-group-tabs .tab.active{background:#1e3a5f;border-color:#1e3a5f;color:#fff}
.tag,.qc-status,.risk-pill,.wecom-state,.permission-chip,.match-label,.qc-photo-count{font-weight:500;box-shadow:none}
.tag.green,.qc-status.good,.wecom-state.sent{background:#eaf5ef;color:#2e7550}
.tag.orange,.qc-status.warn,.risk-pill{background:#fff3e3;color:#a45d06}
.tag.red,.qc-status.bad,.risk-pill.high,.wecom-state.failed{background:#fdecec;color:#b83c3c}
.tag.blue,.match-label,.qc-photo-count{background:#eef2ff;color:#315efb}
.tag.gray,.qc-status,.wecom-state{background:#eef1f5;color:#667085}
.tag.purple{background:#f1eef8;color:#6f5aa8}
.business-alert{background:#fff1f1;border-color:#d64545}
.business-alert.warn{background:#fff8ed;border-color:#d97706}
.business-alert.good{background:#eef7f2;border-color:#2e8b57}
.risk-icon{background:#fdecec;color:#d64545}

/* 图片、空状态、加载状态和异常状态 */
.image-paste-zone,.silver-paste-zone,.qc-photo-paste,.qc-paste-panel{
  background:#f8fafc;border-color:#cbd5e1;color:#667085;box-shadow:none
}
.silver-paste-zone:hover,.silver-paste-zone:focus,.image-paste-zone:focus,.qc-photo-paste:focus{
  background:#f4f7fb;border-color:#315efb;box-shadow:0 0 0 2px rgba(49,94,251,.08)
}
.silver-paste-zone.has-image{background:#eef7f2;border-color:#9bc7ad}
.product-thumb,.product-placeholder,.silver-thumb,.silver-preview,.qc-photo-card,.qc-detail-photo{
  background:#f8fafc;border-color:#e4e7ec
}
.image-viewer-stage{background:#172033;background-image:none}
.global-image-viewer{background:#172033;border-color:#344054;box-shadow:none}
.global-image-viewer aside{background:#fff;color:#344054}
.empty,.empty-business,.qc-empty{color:#98a2b3}
.empty b,.empty-business b,.qc-empty b{color:#475467;font-weight:600}

/* 弹窗、抽屉、浮层和登录页 */
.modal-wrap{background:rgba(17,24,39,.54);backdrop-filter:none}
.modal,.action-menu-popover,.login-card{
  background:#fff;border-color:#e4e7ec;border-radius:9px;box-shadow:0 18px 48px rgba(16,24,40,.16)
}
.modal-head h2{color:#172033;font-weight:600}
.modal-head p{color:#98a2b3}
.modal-head,.modal-foot{border-color:#eef1f5}
.toast{background:#1e3a5f;color:#fff;box-shadow:0 8px 24px rgba(16,24,40,.18)}
.toast.error{background:#a93d3d}
.login-overlay{background:#f5f7fa;background-image:none}
.login-card h2{color:#172033;font-weight:600}
.login-card p,.login-card small{color:#667085}
.login-card label{color:#344054;font-weight:500}
.login-card input{background:#fff;border-color:#d0d5dd;color:#344054}
.danger-zone{background:#fff8f8;border-color:#efcaca}

/* 进度、质量与其他业务状态 */
.progress,.coverage-summary .coverage-progress,.qc-progress{background:#e8ecf2}
.progress i,.qc-progress i,.coverage-summary .coverage-progress i{
  background:#5574d7;background-image:none;box-shadow:none
}
.quality-strip button,.quality-role-strip button{background:#f6f8fb;border-color:#e4e7ec;color:#667085;box-shadow:none}
.quality-strip button:hover,.quality-role-strip button:hover{background:#eef2ff;border-color:#c7d2fe;color:#315efb;transform:none}
.quality-strip strong{color:#172033}
.qc-flow-card{background:#f8fafc}
.qc-flow-card i{background:#315efb;color:#fff}
.qc-rank{background:#eef2ff;color:#315efb}
.qc-dashboard-kpis .risk b{color:#d64545}
.candidate-card{background:#fffaf2;border-color:#ead7b7;color:#344054}
.candidate-card:hover{background:#fff8ed;border-color:#d9bb8a;box-shadow:0 4px 12px rgba(16,24,40,.06);transform:none}
.candidate-card span{color:#89560f}
.completion-card:hover{background:#f8fafc;border-color:#bdc8ee;transform:none}
.detail-grid dt{background:#f2f5f9;color:#667085}
.coverage-modal-summary b,.import-numbers strong{color:#315efb}

/* 禁止视觉换肤产生位移、缩放、发光或复杂动画 */
.metric-link:hover,.business-kpis button:hover,.qc-dashboard-kpis button:hover,
.center-overview-card:hover,.candidate-card:hover,.completion-card:hover,
.business-flow button:hover,.quality-strip button:hover,.quality-role-strip button:hover{
  transform:none!important;filter:none!important
}

/* 本次四项修复：型号资源池自然高度、全系统表头垂直居中。 */
.models-natural-height .smart-table-wrap{
  height:auto!important;
  max-height:none!important;
  overflow-x:auto!important;
  overflow-y:visible!important;
}
thead th,table thead th,.table-wrap thead th,.smart-table-wrap thead th,
.qc-line-table thead th,.qc-guide-table thead th{
  vertical-align:middle!important;
  padding-top:0!important;
  padding-bottom:0!important;
}

/* 数据质量与异常中心：空结果仅保留紧凑卡片区域，分页紧随其后。 */
body[data-page="risks"] .smart-table-wrap{max-height:none!important;overflow-x:auto!important;overflow-y:visible!important}
body[data-page="risks"] .empty{padding:28px 20px!important}

/* 经营督办为本次新增页面，样式仅作用于该页面。 */
.supervision-summary .business-summary{grid-template-columns:repeat(5,minmax(0,1fr))}
.supervision-add{display:flex;justify-content:flex-end;margin-bottom:13px}
.supervision-layout{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(340px,.65fr);gap:16px;align-items:start}
.supervision-layout .panel{min-width:0}
.supervision-layout .panel+.panel{margin-top:0}
.supervision-preview-text{margin:16px;padding:16px;border:1px solid #e4e7ec;border-radius:8px;background:#f8fafc;color:#344054;line-height:1.8;white-space:pre-wrap}
.supervision-preview-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;padding:0 16px 16px;flex-wrap:wrap}
.supervision-history{padding:0 16px 16px}
.supervision-history>b{display:block;margin-bottom:8px;color:#344054;font-weight:600}
@media(max-width:1300px){.supervision-layout{grid-template-columns:1fr}.supervision-summary .business-summary{grid-template-columns:repeat(5,minmax(0,1fr))}}

/* 已确认：仅页面标题和统计卡片标题增加克制的本地线性图标，不改变布局。 */
#pageTitle{display:flex;align-items:center;gap:8px}.ui-line-icon{width:18px;height:18px;flex:0 0 18px;color:#315efb}.metric-card .label,.business-kpis span,.qc-dashboard-kpis span,.center-overview-card span,.order-kpi>span,.business-summary button>span{display:flex;align-items:center;gap:7px}.metric-card .label .ui-line-icon,.business-summary .ui-line-icon{width:16px;height:16px;color:#315efb}.business-summary button>span i{font-style:normal}
.supervision-quick{margin:0 0 16px;padding:16px;border:1px solid #e4e7ec;border-radius:9px;background:#fff;box-shadow:0 2px 8px rgba(16,24,40,.05)}.supervision-quick h3{margin:0 0 12px;font-size:16px;color:#172033}.supervision-quick-grid{display:grid;grid-template-columns:minmax(280px,1fr) 140px 110px 120px 180px auto auto;gap:10px;align-items:center}.supervision-quick-grid input,.supervision-quick-grid select{width:100%;height:36px;padding:0 10px;border:1px solid #d7deea;border-radius:7px;background:#fff;color:#344054;font:inherit}.supervision-quick-grid input:focus,.supervision-quick-grid select:focus{outline:none;border-color:#315efb}.supervision-quick-grid .btn{height:36px;white-space:nowrap}@media(max-width:1380px){.supervision-quick-grid{grid-template-columns:minmax(240px,1fr) 140px 110px 120px;}.supervision-quick-grid .btn{justify-self:start}}
.viewer-sku-list{display:flex;flex-wrap:wrap;gap:6px;align-items:flex-start;line-height:1.45}
.viewer-sku-list span{display:inline-block;max-width:100%;padding:3px 6px;border:1px solid #e4e7ec;border-radius:4px;background:#f8fafc;color:#31537a;overflow-wrap:anywhere}
.order-detail-tip{margin:0 0 12px;padding:10px 12px;border:1px solid #dbe5f4;border-radius:8px;background:#f7faff;color:#52637a;font-size:12px}
.order-explain{color:#344054;line-height:1.8}.order-explain ol{margin:10px 0 12px;padding-left:22px}.order-explain details{padding:10px;border:1px solid #e4e7ec;border-radius:7px;background:#f8fafc}.order-explain summary{cursor:pointer;color:#315efb}
/* 用户显示偏好：只改变字体与视觉缩放，不改变页面数据和业务交互。 */
body, button, input, select, textarea, table { font-family: var(--user-interface-font, "Microsoft YaHei UI", "Microsoft YaHei", "Segoe UI", Arial, sans-serif) !important; }
.display-shortcut-tip { display:block; margin-top:6px; color:#667085; font-size:12px; line-height:1.5; }
