html, body { margin: 0; padding: 0; font-family: "PingFang SC", "Microsoft YaHei", "Helvetica Neue", Arial, sans-serif; background: #f5f6f8; }
#app { height: 100vh; }
.topbar { display: flex; align-items: center; background: #fff; border-bottom: 1px solid #e8e8e8; padding: 0 20px; height: 56px; }
.topbar--compact-module { box-sizing: border-box; height: 50px; padding: 0 14px; gap: 0; }
.topbar--compact-module .brand { margin-right: 7px; }
.topbar--compact-module .brand-logo { width: 32px; height: 32px; }
.topbar--compact-module .brand-text { font-size: 16px; }
.topbar-module-name { flex: 0 0 auto; margin-right: 12px; padding-right: 12px; border-right: 1px solid #eadfd3; color: #6d6259; font-size: 14px; white-space: nowrap; }
.topbar-module-content { flex: 1 1 auto; min-width: 0; height: 100%; }
.brand { display: flex; align-items: center; cursor: pointer; margin-right: 18px; white-space: nowrap; gap: 8px; }
.brand-logo { width: 36px; height: 36px; border-radius: 6px; object-fit: cover; }
.brand-text { font-size: 17px; font-weight: 600; color: #185fa5; }
.spacer { flex: 1; }
.user { cursor: pointer; color: #444; }
.topbar-user-profile{display:inline-flex;align-items:center;gap:7px;min-height:34px;padding:2px 4px;border-radius:7px}.topbar-user-profile:hover{background:#f7f3ee}.topbar-user-profile .el-avatar{flex:0 0 auto;background:#e8dccd;color:#85551f;font-size:12px;font-weight:700}.topbar-user-profile>span{max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.topbar-user-profile>b{font-size:11px;font-weight:400}.self-avatar-editor{display:flex;align-items:center;gap:22px;min-height:116px;padding:8px 10px}.self-avatar-editor>.el-avatar{flex:0 0 auto;background:#e8dccd;color:#85551f;font-size:28px;font-weight:700}.self-avatar-editor-actions{display:flex;min-width:0;flex:1;flex-direction:column;align-items:flex-start;gap:10px}.self-avatar-editor-actions small{color:#909399;font-size:12px;line-height:1.6}.self-avatar-crop-editor{display:flex;flex-direction:column;align-items:center}.self-avatar-crop-stage{position:relative;width:300px;height:300px;overflow:hidden;background:#eef0f3;cursor:grab;touch-action:none;user-select:none}.self-avatar-crop-stage.is-dragging{cursor:grabbing}.self-avatar-crop-stage>img{position:absolute;top:50%;left:50%;max-width:none;pointer-events:none;user-select:none}.self-avatar-crop-mask{position:absolute;inset:0;border:2px solid rgba(255,255,255,.95);border-radius:50%;box-shadow:0 0 0 150px rgba(20,24,30,.48);pointer-events:none}.self-avatar-crop-toolbar{display:flex;width:300px;align-items:center;gap:14px;margin-top:16px}.self-avatar-crop-toolbar>span{flex:0 0 auto;color:#606266;font-size:13px}.self-avatar-crop-toolbar .el-slider{flex:1}.self-avatar-crop-tip{margin:2px 0 0;color:#909399;font-size:12px;line-height:1.5;text-align:center}.self-avatar-dialog .el-dialog__footer>.el-upload{display:inline-block;margin-right:8px}
.motto { font-size: 14px; color: #c0a060; font-style: italic; letter-spacing: 2px; margin-right: 16px; white-space: nowrap; }
.topbar-public-entry { margin-left: 4px; border-radius: 7px; }
.menu-icon { width: 22px; height: 22px; border-radius: 4px; vertical-align: middle; margin-right: 6px; object-fit: cover; }
.jst-erp-link, .quick-link-logo { height: 32px; border-radius: 4px; cursor: pointer; transition: opacity .15s, transform .15s; }
.jst-erp-link:hover, .quick-link-logo:hover { opacity: .85; transform: translateY(-1px); }

/* 一阵地一页面：指标卡 / 趋势卡 */
.metric-card { cursor: pointer; transition: box-shadow .15s, transform .15s; min-height: 96px; }
.metric-card:hover { transform: translateY(-2px); }
.metric-label { font-size: 12px; color: #909399; margin-bottom: 6px; }
.metric-value { font-size: 22px; font-weight: 700; color: #303133; line-height: 1.1; word-break: break-all; }
.metric-suffix { font-size: 12px; font-weight: 400; color: #909399; margin-left: 3px; }
.metric-foot { font-size: 11px; color: #409eff; margin-top: 6px; }
.trend-card { min-height: 120px; }
.trend-title { font-size: 12px; color: #606266; margin-bottom: 4px; }
.trend-svg { width: 100%; height: 90px; display: block; }
.row-category-chart td { color: #f56c6c !important; font-weight: 600 !important; background-color: #fef0f0 !important; }
.quick-link { display: inline-block; margin-left: 12px; padding: 2px 12px; border-radius: 4px; background: #fef0f0; color: #f56c6c; font-size: 14px; font-weight: 600; cursor: pointer; user-select: none; vertical-align: middle; transition: background .15s; }
.quick-link:hover { background: #fde2e2; }
.module-card-festival { background-image: url(/img/festival-bg.jpg); background-size: cover; background-position: center; }
.module-card-festival .module-name { color: #185fa5; text-shadow: 0 0 8px #fff, 0 0 4px #fff; }
.module-card-voice { background-image: url(/img/voice-bg.jpg); background-size: cover; background-position: center; }
.module-card-voice .module-name { color: #185fa5; text-shadow: 0 0 8px #fff, 0 0 4px #fff; }
.module-card-company { background-image: url(/img/company-bg.jpg); background-size: cover; background-position: center; }
.module-card-company .module-name { color: #185fa5; text-shadow: 0 0 8px #fff, 0 0 4px #fff; }
.module-card-trademark { background-image: url(/img/trademark-bg.jpg); background-size: cover; background-position: center; }
.module-card-trademark .module-name { color: #185fa5; text-shadow: 0 0 8px #fff, 0 0 4px #fff; }
.module-card-marketing { background-image: url(/img/marketing-bg.jpg); background-size: cover; background-position: center; }
.module-card-marketing .module-name { color: #185fa5; text-shadow: 0 0 8px #fff, 0 0 4px #fff; }
.module-card-arsenal { background-image: url(/img/arsenal-bg.jpg); background-size: cover; background-position: center; }
.module-card-arsenal .module-name { color: #185fa5; text-shadow: 0 0 8px #fff, 0 0 4px #fff; }
.arsenal-page { background: #fbf8f4; padding: 16px 20px 24px; min-height: calc(100vh - 56px); box-sizing: border-box; color: #302a25; }
.arsenal-compact-layout > .el-container > .main { padding: 0; }
.arsenal-compact-layout .arsenal-page { min-height: calc(100vh - 50px); padding: 9px 16px 4px; }
.arsenal-page .cm-sub { color: #897c70; }
.arsenal-page > .el-tabs > .el-tabs__header { margin-bottom: 18px; }
.arsenal-page > .el-tabs > .el-tabs__header .el-tabs__nav-wrap::after { height: 1px; background: #e8dccf; }
.arsenal-page > .el-tabs > .el-tabs__header .el-tabs__item { color: #514943; font-weight: 600; }
.arsenal-page > .el-tabs > .el-tabs__header .el-tabs__item:hover,
.arsenal-page > .el-tabs > .el-tabs__header .el-tabs__item.is-active { color: #855623; }
.arsenal-page > .el-tabs > .el-tabs__header .el-tabs__active-bar { height: 3px; border-radius: 3px; background: #855623; }
.arsenal-page .el-button--primary { border-color: #855623; background: #855623; color: #fff !important; }
.arsenal-page .el-button--primary > span { color: #fff !important; }
.arsenal-page .el-button--primary:hover,
.arsenal-page .el-button--primary:focus { border-color: #9b6b3c; background: #9b6b3c; color: #fff !important; }
.arsenal-page .el-link.el-link--primary { color: #855623; }
.arsenal-page .el-button.is-link.el-button--primary { color: #fff !important; }
.arsenal-page .order-row-actions { display: flex; align-items: center; gap: 6px; white-space: nowrap; }
.arsenal-page .order-table-with-summary .el-table__body-wrapper td.order-title-column .cell,
.arsenal-page .order-row-actions,
.arsenal-page .order-row-actions .el-button { font-family: inherit; font-size: inherit; line-height: 20px; }
.arsenal-page .order-table-with-summary .el-table__body-wrapper td.order-title-column .cell,
.arsenal-page .order-row-actions .el-button { font-weight: 400; }
.arsenal-page .order-table-with-summary .el-table__body-wrapper td.order-title-column .cell { color: #3f3832; }
.arsenal-page td.arsenal-primary-title-column .cell,
.archive-dialog td.arsenal-primary-title-column .cell { color: #3f3832; font-size: inherit; font-weight: 600; }
.arsenal-page td.arsenal-actions-column .cell,
.archive-dialog td.arsenal-actions-column .cell { font-size: inherit; font-weight: 400; }
.arsenal-page td.arsenal-actions-column .el-button,
.archive-dialog td.arsenal-actions-column .el-button { font-family: inherit; font-size: inherit; font-weight: inherit; }
.arsenal-page .arsenal-todo-card td.arsenal-actions-column .el-button.is-link.el-button--primary,
.arsenal-page .arsenal-todo-card td.arsenal-actions-column .el-button.is-link.el-button--primary:hover,
.arsenal-page .arsenal-todo-card td.arsenal-actions-column .el-button.is-link.el-button--primary:focus { color: #fff; }
.arsenal-page .order-row-actions .el-button { min-width: 40px; height: 26px; margin-left: 0; padding: 0 7px; border-radius: 4px; line-height: 18px; }
.arsenal-page .order-row-actions .el-button.is-link.el-button--primary { border: 1px solid #855623; background: #855623; color: #fff; }
.arsenal-page .order-row-actions .el-button.is-link.el-button--primary:hover,
.arsenal-page .order-row-actions .el-button.is-link.el-button--primary:focus { border-color: #9b6b3c; background: #9b6b3c; color: #fff; }
.arsenal-page .order-row-actions .el-button.is-link.el-button--success { border: 1px solid #78a95e; background: #78a95e; color: #fff; }
.arsenal-page .order-row-actions .el-button.is-link.el-button--success:hover,
.arsenal-page .order-row-actions .el-button.is-link.el-button--success:focus { border-color: #67984e; background: #67984e; color: #fff; }
.arsenal-page .order-row-actions .el-button.is-link.el-button--danger { border: 1px solid #efc0bc; background: #fff5f3; color: #dc5b53; }
.arsenal-page .order-row-actions .el-button.is-link.el-button--danger:hover,
.arsenal-page .order-row-actions .el-button.is-link.el-button--danger:focus { border-color: #dc5b53; background: #dc5b53; color: #fff; }
.arsenal-page .order-table-with-summary .el-table__footer-wrapper td.el-table__cell { height: 50px; background: #fbf8f4; color: #554a40; font-weight: 600; }
.arsenal-page .order-table-with-summary .el-table__footer-wrapper td.el-table__cell:first-child { color: #855623; }
.arsenal-page .order-table-with-summary .el-table__footer-wrapper .cell { line-height: 20px; white-space: nowrap; }
.arsenal-page .order-list-config-bar { justify-content: space-between; }
.arsenal-page .order-list-batch-tools { display: flex; align-items: center; gap: 10px; }
.arsenal-page .order-list-batch-tools span { color: #9a8d81; }
.arsenal-page .order-filter-toolbar { flex-wrap: nowrap; width: 100%; gap: 16px; }
.arsenal-page .order-filter-toolbar .el-form-item { margin-right: 0; margin-bottom: 0; }
.arsenal-page .order-filter-actions { display: flex; align-items: center; gap: 10px; margin-left: auto; flex: 0 0 auto; }
.arsenal-page .visual-dashboard-merged-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 18px; margin: 24px 0 14px; padding: 18px 20px; border: 1px solid #eadfd3; border-left: 4px solid #855623; border-radius: 12px; background: #fffdfb; }
.arsenal-page .visual-dashboard-merged-heading strong { display: block; color: #342d27; font-size: 20px; line-height: 1.3; }
.arsenal-page .visual-dashboard-merged-heading span { display: block; margin-top: 5px; color: #8c7e72; font-size: 13px; }
.arsenal-page .visual-dashboard-merged-heading em { color: #9a7a57; font-size: 12px; font-style: normal; white-space: nowrap; }
.arsenal-page .visual-filter-panel-merged { margin-top: 24px; }
.arsenal-page .visual-filter-panel-merged .visual-dashboard-merged-heading { align-items: center; margin: 0 0 14px; padding: 0 0 14px; border: 0; border-bottom: 1px solid #f0e8df; border-radius: 0; background: transparent; }
.arsenal-page .visual-dashboard-heading-actions { display: flex; align-items: center; gap: 14px; }
.arsenal-page .order-copy-cell { display: flex; min-width: 0; align-items: center; gap: 7px; }
.arsenal-page .order-copy-cell > span { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.arsenal-page .order-copy-cell .el-button { flex: 0 0 auto; height: 24px; margin-left: 0; padding: 0 7px; border-radius: 4px; background: #855623; color: #fff !important; font-size: inherit; }
.arsenal-page .order-copy-cell .el-button:hover,
.arsenal-page .order-copy-cell .el-button:focus { background: #9b6b3c; color: #fff !important; }
.arsenal-page .design-production-table .order-copy-cell .order-copy-button {
  cursor: pointer; border: 1px solid #855623; background: #855623; color: #fff !important;
  font-weight: 400; opacity: 1; transition: background-color .15s, border-color .15s, color .15s;
}

/* 大聪明 */
.ear-page{min-height:calc(100vh - 96px);background:#f7f9fc}
.ear-hero{display:flex;align-items:center;gap:18px;padding:24px 26px;border-radius:16px;background:linear-gradient(135deg,#163f3a 0%,#23665c 58%,#318276 100%);color:#fff;box-shadow:0 12px 30px rgba(27,91,81,.18)}
.ear-hero-mark{display:grid;place-items:center;width:58px;height:58px;box-sizing:border-box;overflow:hidden;padding:3px;border-radius:18px;background:rgba(255,255,255,.94);border:1px solid rgba(255,255,255,.32)}.ear-hero-mark img{display:block;width:100%;height:100%;object-fit:contain}
.ear-hero-copy{flex:1;min-width:0}.ear-hero-copy h2{margin:0 0 5px;font-size:25px;letter-spacing:.04em}.ear-hero-copy p{margin:0;color:rgba(255,255,255,.78);font-size:14px}
.ear-hero-actions{display:flex;gap:9px;flex-wrap:wrap;justify-content:flex-end}.ear-hero-actions .el-button{margin-left:0}
.ear-metric-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin:16px 0}
.ear-metric{position:relative;overflow:hidden;padding:17px 18px;border:1px solid #e6ebf1;border-radius:13px;background:#fff;box-shadow:0 4px 14px rgba(28,46,66,.05)}
.ear-metric:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:#557b76}.ear-metric.is-new:before{background:#409eff}.ear-metric.is-open:before{background:#e6a23c}.ear-metric.is-done:before{background:#67c23a}.ear-metric.is-alert:before{background:#909399}
.ear-metric span,.ear-metric small{display:block;color:#7b8794}.ear-metric span{font-size:13px}.ear-metric strong{display:block;margin:5px 0 2px;color:#25323d;font-size:29px;line-height:1}.ear-metric small{font-size:11px}
.ear-tabs{padding:6px 18px 18px;border:1px solid #e6ebf1;border-radius:14px;background:#fff}
.ear-filter-bar{display:grid;grid-template-columns:140px 140px 140px 130px 140px minmax(220px,1fr) auto auto;gap:9px;margin:8px 0 14px}.ear-filter-bar .el-select,.ear-filter-bar .el-input{width:100%}
.ear-unbound{display:inline-grid;place-items:center;width:16px;height:16px;margin-left:5px;border-radius:50%;background:#fdf0e6;color:#e6a23c;font-size:11px;font-weight:700}
.ear-pagination{display:flex;justify-content:flex-end;margin-top:14px}
.ear-summary-toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:10px 2px 16px}.ear-summary-toolbar>div:first-child{display:flex;flex-direction:column;gap:3px}.ear-summary-toolbar b{font-size:16px;color:#26333d}.ear-summary-toolbar span{font-size:12px;color:#84909c}
.ear-summary-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.ear-summary-card{padding:18px;border:1px solid #e5eaf0;border-radius:13px;background:#fbfcfd}.ear-summary-card header{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #edf0f3;padding-bottom:11px}.ear-summary-card header div{display:flex;flex-direction:column;gap:3px}.ear-summary-card header span{color:#8a949e;font-size:12px}.ear-summary-card header strong{color:#23665c;font-size:21px}.ear-summary-card pre{margin:13px 0 0;white-space:pre-wrap;color:#4b5863;font:13px/1.8 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
.ear-original{margin-bottom:18px;padding:16px;border-left:4px solid #2d766c;border-radius:10px;background:#f0f7f5}.ear-original>div{display:flex;justify-content:space-between;gap:16px}.ear-original span{color:#7e8a95;font-size:12px}.ear-original p{margin:10px 0 0;white-space:pre-wrap;color:#34434e;line-height:1.75}.ear-demand-copy{min-height:24px!important;margin-left:5px!important;padding:0 3px!important;font-size:16px!important;vertical-align:middle}.ear-detail-actions{display:flex;justify-content:flex-end;gap:9px}.ear-event-note{margin-top:3px;color:#87919b;font-size:12px}.ear-config-tip{margin-left:9px;color:#8a949e;font-size:12px}.ear-config-saved{width:100%;margin-top:4px;color:#67c23a;font-size:12px}.ear-bind-note{margin:14px 0 0;padding:12px 14px;border-radius:8px;background:#f5f7fa;color:#66717c;font-size:13px;line-height:1.7}.ear-bind-dialog code{overflow-wrap:anywhere;color:#7b5a31}
.ear-attachments{margin:0 0 18px;padding:15px;border:1px solid #dce8e5;border-radius:11px;background:#fbfdfd}.ear-attachments>header{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:11px}.ear-attachments>header b{color:#29443f;font-size:14px}.ear-attachments>header span{color:#84918e;font-size:11px;text-align:right}.ear-attachment-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.ear-attachment-grid article{min-width:0;overflow:hidden;border:1px solid #dce6e4;border-radius:10px;background:#fff}.ear-attachment-grid article.is-failed{border-color:#f0caca;background:#fffafa}.ear-attachment-grid .el-image,.ear-attachment-placeholder{display:block;width:100%;height:118px}.ear-attachment-grid .el-image{cursor:zoom-in}.ear-attachment-grid .el-image img{width:100%;height:100%;object-fit:cover}.ear-attachment-placeholder{display:grid;place-items:center;color:#a48181;background:#fff2f2;font-size:12px}.ear-attachment-grid footer{display:flex;min-width:0;flex-direction:column;gap:3px;padding:8px 9px}.ear-attachment-grid footer b,.ear-attachment-grid footer span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ear-attachment-grid footer b{color:#465650;font-size:12px}.ear-attachment-grid footer span{color:#89948f;font-size:10px}
.ear-detail-drawer{max-width:100vw}
.ear-completion-summary{margin-bottom:16px}.ear-complete-dialog .el-radio-group{display:flex;flex-wrap:wrap;gap:10px 18px}.ear-complete-dialog .el-radio{margin-right:0}
.ear-download-center{min-height:360px;padding:8px 2px 2px}.ear-download-toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:16px}.ear-download-toolbar>div{display:flex;min-width:0;flex-direction:column;gap:4px}.ear-download-toolbar b{color:#26333d;font-size:17px}.ear-download-toolbar span{color:#7d8995;font-size:13px}.ear-download-empty-alert{margin:4px 0 18px}.ear-release-latest{position:relative;padding:23px;margin-bottom:24px;overflow:hidden;border:1px solid #bcded6;border-radius:15px;background:linear-gradient(145deg,#f8fffd,#f1f8f6);box-shadow:0 8px 22px rgba(28,98,86,.08)}.ear-release-ribbon{position:absolute;top:0;right:0;padding:7px 16px;border-radius:0 0 0 12px;color:#fff;background:#278071;font-size:12px;font-weight:700}.ear-release-header{display:flex;align-items:center;justify-content:space-between;gap:18px;padding-right:108px}.ear-release-header>div{display:flex;align-items:center;gap:13px}.ear-release-header h3{margin:0;color:#23343a;font-size:20px}.ear-release-header h3 em{margin-left:5px;color:#23776a;font-style:normal}.ear-release-header p{margin:5px 0 0;color:#83908f;font-size:12px}.ear-release-win{display:grid;place-items:center;width:48px;height:48px;border-radius:13px;color:#fff;background:#246f65;font-size:13px;font-weight:800;letter-spacing:.06em}.ear-release-copy{display:grid;grid-template-columns:110px minmax(0,1fr);gap:4px 10px;margin:18px 0;padding:14px 16px;border:1px solid #dcebe7;border-radius:11px;background:rgba(255,255,255,.7)}.ear-release-copy h4,.ear-release-copy p{margin:0;white-space:pre-wrap}.ear-release-copy h4{color:#4d6762;font-size:13px}.ear-release-copy p{color:#4c5a60;font-size:13px;line-height:1.7}.ear-release-files{display:grid;grid-template-columns:1fr 1fr;gap:12px}.ear-release-files>div{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:5px 12px;padding:14px 15px;border:1px solid #dce6e4;border-radius:11px;background:#fff}.ear-release-files b,.ear-release-files span,.ear-release-files small{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ear-release-files b{color:#34464b;font-size:14px}.ear-release-files span{grid-column:1;color:#718087;font-size:12px}.ear-release-files small{grid-column:1;color:#96a09f;font:11px/1.4 ui-monospace,SFMono-Regular,Menlo,monospace}.ear-release-files .el-button{grid-column:2;grid-row:1/4;margin:0}.ear-release-latest>footer{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:14px;color:#84918e;font-size:12px}.ear-release-latest>footer .el-button{margin-left:8px}.ear-release-history-head{display:flex;align-items:center;justify-content:space-between;margin:4px 0 12px}.ear-release-history-head>div{display:flex;flex-direction:column;gap:3px}.ear-release-history-head b{color:#2a373d;font-size:16px}.ear-release-history-head span{color:#89949c;font-size:12px}.ear-release-history{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.ear-release-history-card{padding:16px;border:1px solid #e2e8ed;border-radius:12px;background:#fbfcfd}.ear-release-history-card.is-draft{border-color:#f1d5a8;background:#fffcf7}.ear-release-history-card.is-withdrawn{filter:saturate(.65);background:#f6f7f8}.ear-release-history-card header,.ear-release-history-card footer{display:flex;align-items:center;justify-content:space-between;gap:12px}.ear-release-history-card header>div{display:flex;flex-direction:column;gap:2px}.ear-release-history-card header b{color:#334047;font-size:17px}.ear-release-history-card header span{color:#939da4;font-size:11px}.ear-release-history-card>p{min-height:44px;margin:13px 0;overflow:hidden;color:#536169;font-size:13px;line-height:1.7;white-space:pre-wrap}.ear-release-history-files{display:flex;gap:12px;padding:9px 0;border-top:1px dashed #e1e6e9;border-bottom:1px dashed #e1e6e9;color:#7b878d;font-size:11px}.ear-release-history-card footer{min-height:32px;padding-top:8px}.ear-release-history-card footer .el-button{margin:0 7px 0 0}.ear-release-pending{display:block;margin-top:7px;color:#c17a1f;font-size:11px}.ear-release-form{margin-top:18px}.ear-release-form .el-upload__tip{color:#8a949e}
@media(max-width:1200px){.ear-metric-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.ear-filter-bar{grid-template-columns:repeat(4,minmax(120px,1fr))}.ear-filter-bar .el-input{grid-column:span 2}.ear-summary-list{grid-template-columns:1fr}}
@media(max-width:900px){.ear-release-files,.ear-release-history{grid-template-columns:1fr}.ear-release-header{align-items:flex-start;padding-right:0}.ear-release-header>.el-tag{margin-top:38px}.ear-release-copy{grid-template-columns:1fr}.ear-release-copy h4:not(:first-child){margin-top:8px}}
@media(max-width:760px){.ear-hero{align-items:flex-start;flex-wrap:wrap}.ear-hero-actions{width:100%;justify-content:flex-start}.ear-metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ear-filter-bar{grid-template-columns:1fr 1fr}.ear-filter-bar .el-input{grid-column:1/-1}.ear-download-toolbar{align-items:flex-start;flex-direction:column}.ear-release-latest{padding:18px 14px}.ear-release-header>div{align-items:flex-start}.ear-release-header h3{font-size:17px}.ear-release-files>div{grid-template-columns:1fr}.ear-release-files .el-button{grid-column:1;grid-row:auto;width:100%}.ear-release-latest>footer,.ear-release-history-card footer{align-items:flex-start;flex-direction:column}.ear-release-history-files{flex-wrap:wrap}.ear-attachments>header{align-items:flex-start;flex-direction:column}.ear-attachments>header span{text-align:left}.ear-attachment-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:390px){.ear-page{padding-right:8px!important;padding-left:8px!important}.ear-filter-bar{grid-template-columns:1fr}.ear-filter-bar .el-input{grid-column:auto}.ear-detail-actions{align-items:stretch;flex-direction:column}.ear-detail-actions .el-button{width:100%;margin-left:0}.ear-complete-dialog .el-dialog,.ear-bind-dialog .el-dialog{width:calc(100vw - 20px)!important}.ear-complete-dialog .el-radio-group{align-items:flex-start;flex-direction:column}.ear-bind-dialog .el-form{margin-right:-8px}.ear-bind-dialog .el-form-item{display:block}.ear-bind-dialog .el-form-item__label{width:auto!important}.ear-bind-dialog .el-form-item__content{margin-left:0!important}.ear-attachment-grid{grid-template-columns:1fr}}

/* 阵地战场 / 闪电战场统一卡片看板 */
.battle-view-switch { display:inline-flex; align-items:center; }
.battle-card-board { min-width:0; }
.battle-card-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(330px,1fr)); gap:16px; }
.battle-card { position:relative; display:flex; min-width:0; min-height:310px; flex-direction:column; gap:12px; padding:18px; overflow:hidden; border:1px solid #e1e7ef; border-radius:14px; background:#fff; box-shadow:0 5px 18px rgba(34,54,78,.055); transition:transform .16s,border-color .16s,box-shadow .16s; }
.battle-card::before { position:absolute; top:0; right:0; left:0; height:4px; background:#93a9c4; content:''; }
.battle-card:hover { transform:translateY(-2px); border-color:#bdcde0; box-shadow:0 10px 25px rgba(34,70,112,.1); }
.battle-card.state-attack::before,.battle-card.state-operating::before { background:#e86d4b; }
.battle-card.state-planning::before,.battle-card.state-pending_plan::before { background:#d7a130; }
.battle-card.state-reviewing::before { background:#8b6dcc; }
.battle-card.state-defending::before,.battle-card.state-completed::before { background:#55a878; }
.battle-card.overdue { border-color:#efc2c2; background:linear-gradient(145deg,#fff 70%,#fff5f5); }
.battle-card > header { display:flex; min-width:0; align-items:flex-start; justify-content:space-between; gap:12px; }
.battle-card > header > div { min-width:0; }
.battle-card-kind { display:block; margin-bottom:5px; color:#8794a5; font-size:11px; letter-spacing:.08em; }
.battle-card h3 { margin:0; overflow:hidden; color:#26384d; font-size:19px; line-height:1.35; text-overflow:ellipsis; white-space:nowrap; }
.battle-card-hierarchy,.battle-card-deadline,.battle-card-milestones { margin:0; }
.battle-card-hierarchy { color:#718095; font-size:13px; }
.battle-card-deadline { padding:9px 11px; border-radius:8px; background:#f3f7fc; color:#456381; font-size:13px; font-weight:600; }
.battle-card-deadline.soon { background:#fff6e7; color:#ad6800; }
.battle-card-deadline.danger { background:#fff0f0; color:#c53f48; }
.battle-card-milestones { overflow:hidden; color:#8a96a5; font-size:11px; text-overflow:ellipsis; white-space:nowrap; }
.battle-card-facts { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px 14px; }
.battle-card-facts span { min-width:0; overflow:hidden; color:#4d5969; font-size:12px; text-overflow:ellipsis; white-space:nowrap; }
.battle-card-facts b { display:block; margin-bottom:3px; color:#9aa4b0; font-size:10px; font-weight:500; }
.battle-card-target { padding:10px 12px; border-radius:9px; background:#f7fafc; color:#667589; font-size:12px; }
.battle-card-target > span { display:inline-block; max-width:72%; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.battle-card-target > strong { float:right; color:#2f6aaa; }
.battle-card-target .el-progress { clear:both; padding-top:7px; }
.battle-card-progress { display:grid; min-height:58px; grid-template-columns:auto minmax(0,1fr); align-content:start; gap:3px 8px; }
.battle-card-progress b { color:#7e8a99; font-size:11px; }
.battle-card-progress span { overflow:hidden; color:#3b4655; font-size:12px; text-overflow:ellipsis; white-space:nowrap; }
.battle-card-progress small { grid-column:2; color:#a0a9b4; font-size:10px; }
.battle-card > footer.battle-card-actions { --battle-action-bg:var(--home-warning-bg,var(--el-color-warning-light-9)); --battle-action-bg-hover:var(--el-color-warning-light-8); --battle-action-border:var(--el-color-warning-light-7); --battle-action-text:var(--home-warning,var(--el-color-warning-dark-2)); display:grid; min-width:0; grid-template-columns:minmax(102px,1.35fr) repeat(5,minmax(0,1fr)); align-items:stretch; gap:6px; margin-top:auto; padding-top:10px; border-top:1px dashed #e2e7ed; }
.battle-card-action { display:flex; min-width:0; min-height:36px; align-items:center; justify-content:center; gap:4px; padding:6px 7px; overflow:hidden; border:1px solid var(--battle-action-border); border-radius:8px; background:var(--battle-action-bg); color:var(--battle-action-text); cursor:pointer; font:inherit; font-size:12px; font-weight:600; line-height:1.2; text-overflow:ellipsis; white-space:nowrap; transition:background-color .15s,border-color .15s,box-shadow .15s,transform .15s; }
.battle-card-action:hover,.battle-card-action:focus-visible { border-color:var(--el-color-warning-light-5); outline:none; background:var(--battle-action-bg-hover); box-shadow:0 2px 7px rgba(161,107,43,.12); }
.battle-card-action:active { background:var(--el-color-warning-light-7); transform:translateY(1px); }
.battle-card-action:disabled { color:var(--battle-action-text); cursor:not-allowed; opacity:.45; }
.battle-card-action:disabled:hover { border-color:var(--battle-action-border); background:var(--battle-action-bg); box-shadow:none; transform:none; }
.battle-card-action span { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.battle-card-action-todos b { flex:0 0 auto; font-size:13px; }
.battle-card-action-todos.active { border-color:#f0b8ba; background:#fff3f3; color:#d64045; font-weight:700; }
.battle-card.size-large .battle-card-action { font-size:13px; }
.battle-card.size-medium > footer.battle-card-actions { grid-template-columns:repeat(3,minmax(0,1fr)); }
.battle-card.size-small > footer.battle-card-actions { grid-template-columns:repeat(2,minmax(0,1fr)); }
.battle-card.size-medium .battle-card-action { min-height:34px; padding:5px 6px; font-size:12px; }
.battle-card.size-small .battle-card-action { min-height:32px; padding:4px 5px; font-size:12px; }
.battle-card.size-small .battle-card-action-todos { gap:3px; }
.battle-card.size-small .battle-card-action-todos b { font-size:12px; }
.battle-quick-panel { min-height:180px; }
.battle-quick-modal .el-dialog__body { max-height:calc(86vh - 145px); padding-top:14px; overflow:auto; }
.battle-quick-modal-body { min-height:180px; }
.battle-quick-modal .battle-record-panel { min-height:260px; }
.battle-quick-panel .el-alert { margin-bottom:14px; }
.battle-promotion-links { display:grid; grid-template-columns:repeat(auto-fit,minmax(190px,1fr)); gap:10px; margin-bottom:16px; }
.battle-promotion-links button { display:flex; min-width:0; flex-direction:column; align-items:flex-start; gap:4px; padding:12px 14px; border:1px solid var(--el-border-color-light); border-radius:9px; background:var(--el-fill-color-light); color:var(--el-text-color-primary); cursor:pointer; text-align:left; }
.battle-promotion-links button:hover,.battle-promotion-links button:focus-visible { border-color:var(--el-color-primary-light-5); background:var(--el-color-primary-light-9); outline:none; }
.battle-promotion-links span { max-width:100%; overflow:hidden; font-weight:600; text-overflow:ellipsis; white-space:nowrap; }
.battle-promotion-links small { color:var(--el-color-primary); }
.battle-detail-descriptions { margin-top:4px; }
.battle-quick-footer { display:flex; justify-content:flex-end; gap:8px; }
.battle-card-more { display:flex; justify-content:center; padding-top:16px; }
.battle-card-skeleton { pointer-events:none; }
.battle-card-skeleton i { display:block; height:18px; border-radius:7px; background:linear-gradient(90deg,#eef2f6 25%,#f8fafc 37%,#eef2f6 63%); background-size:400% 100%; animation:home-shimmer 1.35s ease infinite; }
.battle-card-skeleton i:nth-child(1) { width:62%; height:26px; }
.battle-card-skeleton i:nth-child(2) { width:100%; margin-top:24px; }
.battle-card-skeleton i:nth-child(3) { width:78%; margin-top:18px; }
.battle-card-board.compact .battle-card-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:13px; }
.battle-card-board.compact .battle-card { min-height:248px; padding:15px; }
.battle-card-board.compact .battle-card h3 { font-size:16px; }
.battle-card-board.compact .battle-card-progress { min-height:42px; }

@media (max-width: 900px) {
  .battle-card-grid,.battle-card-board.compact .battle-card-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width: 620px) {
  .battle-card-grid,.battle-card-board.compact .battle-card-grid { grid-template-columns:1fr; }
  .battle-card { min-height:0; padding:15px; }
  .battle-card-facts { grid-template-columns:1fr 1fr; }
  .battle-card.size-large > footer.battle-card-actions,.battle-card.size-medium > footer.battle-card-actions { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .battle-card.size-small > footer.battle-card-actions { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .battle-view-switch { width:100%; }
  .battle-view-switch .el-radio-group { width:100%; }
  .battle-view-switch .el-radio-button { flex:1; }
  .battle-view-switch .el-radio-button__inner { width:100%; }
}
.arsenal-page .design-production-table .order-copy-cell .order-copy-button:hover,
.arsenal-page .design-production-table .order-copy-cell .order-copy-button:focus {
  border-color: #6f451d; background: #6f451d; color: #fff !important;
}
.acceptance-image-list,
.acceptance-history-images { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 9px; }
.acceptance-image-list > div { position: relative; }
.acceptance-image-list .el-image,
.acceptance-history-images .el-image { width: 68px; height: 68px; border: 1px solid #eadfd3; border-radius: 6px; }
.acceptance-image-list button { position: absolute; top: -7px; right: -7px; width: 20px; height: 20px; padding: 0; border: 0; border-radius: 50%; background: #f56c6c; color: #fff; line-height: 20px; cursor: pointer; }
.arsenal-page .order-table-with-summary .el-table__header-wrapper,
.arsenal-page .order-table-with-summary .el-table__footer-wrapper { z-index: 4; }
.arsenal-overview { padding-bottom: 4px; }
.arsenal-metric-grid { display: grid; grid-template-columns: repeat(4,minmax(150px,1fr)); gap: 14px; margin-bottom: 16px; }
.arsenal-metric-card { min-height: 122px; padding: 18px 20px; border: 1px solid #eadfd3; border-top: 4px solid currentColor; border-radius: 14px; background: #fffdfb; box-shadow: 0 8px 24px rgba(95,65,38,.055); box-sizing: border-box; }
.arsenal-metric-card span { display: block; color: #7e7165; font-size: 12px; font-weight: 600; letter-spacing: .5px; }
.arsenal-metric-card strong { display: block; margin: 9px 0 5px; color: #2f2924; font-size: 30px; line-height: 1; }
.arsenal-metric-card strong i { color: #7e7165; font-size: 18px; font-style: normal; font-weight: 600; }
.arsenal-metric-card small { color: #a2978d; font-size: 11px; }
.arsenal-metric-card.brown { color: #855623; }
.arsenal-metric-card.green { color: #668269; }
.arsenal-metric-card.gold { color: #c39252; }
.arsenal-metric-card.coral { color: #df817a; }
.arsenal-metric-card.indigo { color: #4b5b9b; }
.arsenal-dashboard-grid { display: grid; grid-template-columns: minmax(0,1.45fr) minmax(330px,.55fr); gap: 16px; margin-bottom: 16px; }
.arsenal-panel { border: 1px solid #eadfd3; border-radius: 14px; background: #fffdfb; box-shadow: 0 8px 24px rgba(95,65,38,.05); }
.arsenal-panel-head { display: flex; justify-content: space-between; align-items: flex-start; gap: 14px; padding: 18px 20px 14px; border-bottom: 1px solid #f0e8df; }
.arsenal-panel-head strong { display: block; color: #342d27; font-size: 16px; }
.arsenal-panel-head span { display: block; margin-top: 5px; color: #998d82; font-size: 11px; }
.arsenal-panel-head em { flex: 0 0 auto; padding: 5px 10px; border-radius: 14px; background: #f5ebdf; color: #855623; font-size: 11px; font-style: normal; font-weight: 600; }
.arsenal-funnel { display: flex; flex-direction: column; align-items: center; gap: 8px; padding: 22px 28px 12px; }
.arsenal-funnel-stage { display: grid; grid-template-columns: 38px minmax(120px,1fr) auto; align-items: center; gap: 12px; min-height: 62px; padding: 9px 24px; border-radius: 10px; color: #fff; box-sizing: border-box; box-shadow: 0 7px 16px rgba(73,53,35,.10); }
.arsenal-funnel-stage.stage-0 { background: #855623; }
.arsenal-funnel-stage.stage-1 { background: #bd8b4d; }
.arsenal-funnel-stage.stage-2 { background: #db8179; }
.arsenal-funnel-stage.stage-3 { background: #4b5b9b; }
.arsenal-funnel-step { display: grid; place-items: center; width: 32px; height: 32px; border: 1px solid rgba(255,255,255,.38); border-radius: 50%; background: rgba(255,255,255,.12); font-size: 11px; font-weight: 700; }
.arsenal-funnel-stage b,
.arsenal-funnel-stage small { display: block; }
.arsenal-funnel-stage b { font-size: 14px; }
.arsenal-funnel-stage small { margin-top: 3px; color: rgba(255,255,255,.75); font-size: 10px; }
.arsenal-funnel-stage > strong { min-width: 58px; font-size: 24px; text-align: right; }
.arsenal-funnel-stage > strong i { font-size: 10px; font-style: normal; font-weight: 500; }
.arsenal-funnel-caption { display: flex; justify-content: space-between; padding: 2px 38px 20px; color: #9d9186; font-size: 10px; }
.arsenal-status-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; padding: 16px; }
.arsenal-status-item { display: flex; justify-content: space-between; align-items: center; min-height: 38px; padding: 0 12px; border: 1px solid #eee5dc; border-radius: 9px; background: #faf7f3; color: #9c9188; font-size: 11px; box-sizing: border-box; }
.arsenal-status-item strong { color: #8f857c; font-size: 15px; }
.arsenal-status-item.active { border-color: #d8b995; background: #f8efe5; color: #71461f; }
.arsenal-status-item.active strong { color: #855623; }
.arsenal-load-panel { margin-bottom: 16px; }
.arsenal-designer-grid { display: grid; grid-template-columns: repeat(auto-fill,minmax(230px,1fr)); gap: 12px; padding: 16px 20px 20px; }
.arsenal-designer-card { padding: 14px; border: 1px solid #eee4da; border-radius: 10px; background: #fcf9f6; }
.arsenal-designer-head { display: flex; justify-content: space-between; gap: 10px; margin-bottom: 11px; }
.arsenal-designer-head b { color: #3e352e; font-size: 13px; }
.arsenal-designer-head span { color: #855623; font-size: 11px; }
.arsenal-designer-card small { display: block; margin-top: 8px; color: #8e9b88; font-size: 10px; }
.arsenal-designer-card small.busy { color: #cf645d; }
.arsenal-designer-empty { padding: 28px; color: #a89e95; font-size: 12px; text-align: center; }
.arsenal-overview > .visual-dashboard { margin-top: 0; }
.visual-dashboard-error { margin-bottom: 14px; }
.visual-section-error-list { display: grid; gap: 8px; margin-bottom: 14px; }
.visual-section-error-list .el-alert__content { min-width: 0; }
.visual-overview-metrics { margin-top: 4px; }
.visual-task-structure-card { position: relative; overflow: hidden; }
.visual-task-structure-card::after { position: absolute; top: 0; right: 0; left: 0; height: 4px; background: #4b5b9b; content: ''; }
.visual-integrated-load { margin: 0 0 16px; scroll-margin-top: 82px; }
.visual-designer-identity { align-items: center; }
.visual-designer-identity .person-badge { min-width: 0; }
.visual-delivery-flow { margin-bottom: 16px; scroll-margin-top: 82px; overflow: hidden; }
.visual-flow-scroll { padding: 18px 20px 22px; overflow-x: auto; }
.visual-flow-track { display: grid; min-width: 1080px; grid-template-columns: minmax(210px,1fr) 92px minmax(210px,1fr) 110px minmax(210px,1fr) 110px minmax(210px,1fr); align-items: stretch; }
.visual-flow-stage { min-height: 208px; overflow: hidden; border: 1px solid #e4d4c4; border-top: 4px solid #855623; border-radius: 13px; background: #fcf9f6; box-shadow: 0 6px 16px rgba(95,65,38,.06); }
.visual-flow-stage-design { border-top-color: #bd8b4d; }
.visual-flow-stage-optimization { border-top-color: #d87870; }
.visual-flow-stage-incubation { border-top-color: #5f729f; }
.visual-flow-stage > header { display: flex; align-items: center; gap: 10px; padding: 14px 15px 12px; border-bottom: 1px solid #eee4da; }
.visual-flow-stage > header > span { display: grid; width: 30px; height: 30px; place-items: center; border-radius: 50%; background: #f1e5d8; color: #855623; font-size: 11px; font-weight: 700; }
.visual-flow-stage > header strong,.visual-flow-stage > header small { display: block; }
.visual-flow-stage > header strong { color: #342d27; font-size: 15px; }
.visual-flow-stage > header small { margin-top: 2px; color: #9a8877; font-size: 10px; }
.visual-flow-metrics { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; padding: 12px; }
.visual-flow-metrics > div { min-width: 0; padding: 10px 9px; border: 1px solid #eee3d8; border-radius: 9px; background: #fff; }
.visual-flow-metrics > div > span { display: block; overflow: hidden; color: #83766a; font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }
.visual-flow-metrics > div > strong { display: block; margin-top: 5px; color: #6f451d; font-size: 20px; }
.visual-flow-metrics > div > strong small { margin-left: 3px; color: #a69b91; font-size: 9px; }
.visual-flow-metrics > div.is-unavailable { border-style: dashed; background: #fff9ed; }
.visual-flow-metrics > div.is-unavailable > strong { color: #b17b30; font-size: 12px; }
.visual-flow-metrics > p { grid-column: 1/-1; margin: 20px 0; color: #aaa096; font-size: 11px; text-align: center; }
.visual-flow-connector { display: flex; min-width: 0; flex-direction: column; align-items: center; justify-content: center; gap: 8px; color: #9a7a57; }
.visual-flow-connector span { max-width: 102px; padding: 4px 7px; border-radius: 12px; background: #f7eee4; font-size: 10px; text-align: center; white-space: nowrap; }
.visual-flow-connector i { font-size: 27px; font-style: normal; line-height: 1; }
.visual-flow-settings-note { margin: 0 0 14px; padding: 10px 12px; border-radius: 8px; background: #f8f4ef; color: #776b60; font-size: 12px; line-height: 1.6; }
.visual-flow-settings-module { margin-bottom: 15px; border: 1px solid #eadfd3; border-radius: 10px; overflow: hidden; }
.visual-flow-settings-module > header { display: flex; justify-content: space-between; padding: 11px 13px; background: #f8f4ef; color: #4a4037; }
.visual-flow-settings-module > header span { color: #9a8877; font-size: 11px; }
.visual-flow-settings-row { display: flex; min-height: 42px; align-items: center; gap: 8px; padding: 0 11px; border-top: 1px solid #f0e8df; background: #fff; }
.visual-flow-drag { color: #b5a99d; cursor: grab; letter-spacing: -3px; }
.visual-flow-settings-spacer { flex: 1; }
.visual-dashboard { margin-top: 24px; padding: 20px; border: 1px solid #e7d9cb; border-left: 4px solid #855623; border-radius: 14px; background: #fffdfb; box-shadow: 0 8px 24px rgba(95,65,38,.05); }
.visual-dashboard .visual-filter-panel-merged { margin-top: 0; padding: 0 0 18px; border: 0; border-bottom: 1px solid #eee4da; border-radius: 0; background: transparent; box-shadow: none; }
.visual-dashboard .visual-preset-grid button { border-color: transparent; background: #f8f4ef; box-shadow: none; }
.visual-dashboard .visual-preset-grid button:hover { border-color: #d9c0a5; background: #fbf7f2; }
.visual-dashboard .visual-preset-grid button.active { border-color: #855623; background: #f4e9dc; }
.visual-dashboard .visual-range-summary { border: 0; background: #f8f4ef; box-shadow: none; }
.visual-dashboard .visual-insight-grid > .arsenal-panel,
.visual-dashboard .visual-chart-grid > .arsenal-panel,
.visual-dashboard > .visual-table-panel { border: 0; background: #f8f4ef; box-shadow: none; }
.visual-dashboard > .visual-table-panel { border-radius: 10px; }
.visual-dashboard > .visual-table-panel .el-table { --el-table-bg-color: #f8f4ef; --el-table-tr-bg-color: #f8f4ef; }
.visual-filter-panel { margin-bottom: 14px; padding: 16px 18px; border: 1px solid #eadfd3; border-radius: 12px; background: #fffdfb; box-shadow: 0 6px 18px rgba(95,65,38,.04); }
.visual-filter-title { display: flex; justify-content: space-between; align-items: flex-start; gap: 16px; margin-bottom: 14px; }
.visual-filter-title strong { display: block; color: #342d27; font-size: 16px; }
.visual-filter-title span { display: block; margin-top: 4px; color: #998d82; font-size: 11px; }
.visual-filter-row { display: flex; flex-wrap: wrap; align-items: center; gap: 9px; }
.visual-preset-grid { display: grid; grid-template-columns: repeat(5,minmax(120px,1fr)); gap: 12px; margin-bottom: 14px; }
.visual-preset-grid button { min-height: 92px; padding: 14px 16px; border: 1px solid #eadfd3; border-radius: 12px; background: #fffdfb; color: #3e352e; text-align: left; cursor: pointer; box-shadow: 0 6px 18px rgba(95,65,38,.04); transition: border-color .15s,background .15s,transform .15s; }
.visual-preset-grid button:hover { border-color: #cba77f; transform: translateY(-1px); }
.visual-preset-grid button.active { border-color: #855623; background: #f8efe5; box-shadow: inset 0 3px 0 #855623; }
.visual-preset-grid span { display: block; color: #84786e; font-size: 12px; font-weight: 600; }
.visual-preset-grid strong { display: inline-block; margin-top: 8px; color: #2f2924; font-size: 26px; line-height: 1; }
.visual-preset-grid small { margin-left: 5px; color: #a2978d; font-size: 10px; }
.visual-range-summary { margin-bottom: 14px; border: 1px solid #eadfd3; border-radius: 12px; background: #fffdfb; overflow: hidden; box-shadow: 0 6px 18px rgba(95,65,38,.04); }
.visual-section-heading { display: flex; justify-content: space-between; align-items: center; padding: 14px 18px; border-bottom: 1px solid #f0e8df; }
.visual-section-heading strong { display: block; color: #342d27; font-size: 14px; }
.visual-section-heading span { display: block; margin-top: 4px; color: #998d82; font-size: 10px; }
.visual-section-heading em { padding: 5px 10px; border-radius: 14px; background: #f4f0eb; color: #9a8d81; font-size: 10px; font-style: normal; }
.visual-summary-grid { display: grid; grid-template-columns: repeat(5,1fr); }
.visual-summary-grid > div { min-height: 112px; padding: 16px 18px; border-right: 1px solid #f0e8df; box-sizing: border-box; }
.visual-summary-grid > div:last-child { border-right: 0; }
.visual-summary-grid span { display: block; color: #81756a; font-size: 11px; font-weight: 600; }
.visual-summary-grid strong { display: block; margin: 8px 0 4px; color: #855623; font-size: 25px; line-height: 1; }
.visual-summary-grid small { color: #a69b91; font-size: 10px; }
.visual-compare { display: block; margin-top: 7px; font-size: 10px; font-weight: 600; }
.visual-compare.up { color: #668269; }
.visual-compare.down { color: #cf645d; }
.visual-compare.flat { color: #a69b91; }
.visual-insight-grid { display: grid; grid-template-columns: minmax(240px,.8fr) minmax(300px,1fr) minmax(340px,1.2fr); gap: 14px; margin-bottom: 14px; }
.visual-insight-grid > section { min-height: 190px; padding: 17px 18px; box-sizing: border-box; }
.visual-insight-head { display: flex; justify-content: space-between; align-items: flex-start; gap: 10px; margin-bottom: 16px; }
.visual-insight-head strong { display: block; color: #342d27; font-size: 14px; }
.visual-insight-head span { display: block; margin-top: 4px; color: #9c9187; font-size: 10px; }
.visual-insight-head em { padding: 4px 8px; border-radius: 12px; background: #f5ebdf; color: #855623; font-size: 10px; font-style: normal; }
.visual-goal-numbers { display: flex; align-items: baseline; gap: 7px; margin-bottom: 13px; }
.visual-goal-numbers strong { color: #855623; font-size: 31px; line-height: 1; }
.visual-goal-numbers span { color: #7e7165; font-size: 13px; }
.visual-goal-card > small { display: block; margin-top: 10px; color: #9c9187; font-size: 10px; }
.visual-quality-numbers { display: grid; grid-template-columns: repeat(3,1fr); gap: 8px; }
.visual-quality-numbers > div { min-height: 86px; padding: 12px 10px; border: 1px solid #eee4da; border-radius: 9px; background: #fcf9f6; box-sizing: border-box; }
.visual-quality-numbers span { display: block; color: #8b8076; font-size: 10px; }
.visual-quality-numbers strong { display: block; margin-top: 13px; color: #3d352f; font-size: 19px; }
.visual-alert-list { max-height: 125px; overflow-y: auto; }
.visual-alert-list > div { margin-bottom: 7px; padding: 8px 10px; border-left: 3px solid #aaa096; border-radius: 5px; background: #faf7f3; }
.visual-alert-list > div.warning { border-left-color: #cf645d; background: #fff4f2; }
.visual-alert-list > div.notice { border-left-color: #bd8b4d; background: #fbf5ec; }
.visual-alert-list > div.normal { border-left-color: #668269; background: #f2f7f2; }
.visual-alert-list b,.visual-alert-list span { display: block; }
.visual-alert-list b { color: #51473f; font-size: 11px; }
.visual-alert-list span { margin-top: 3px; color: #958980; font-size: 10px; }
.visual-chart-grid { display: grid; grid-template-columns: minmax(0,1.25fr) minmax(320px,.75fr); gap: 14px; margin-bottom: 14px; }
.visual-bar-list { max-height: 310px; padding: 16px 18px 18px; overflow-y: auto; }
.visual-bar-row { display: grid; grid-template-columns: 48px minmax(80px,1fr) 34px; align-items: center; gap: 10px; min-height: 28px; }
.visual-bar-row.type { grid-template-columns: 72px minmax(80px,1fr) 34px; }
.visual-bar-row > span { color: #82776d; font-size: 10px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.visual-bar-row > div { height: 10px; border-radius: 6px; background: #f2ebe4; overflow: hidden; }
.visual-bar-row > div i { display: block; min-width: 3px; height: 100%; border-radius: 6px; background: #bd8b4d; }
.visual-bar-row.type > div i { background: #668269; }
.visual-bar-row > strong { color: #4b4037; font-size: 11px; text-align: right; }
.visual-empty { display: grid; place-items: center; min-height: 170px; color: #aaa096; font-size: 12px; }
.visual-table-panel { margin-bottom: 14px; overflow: hidden; }
.visual-table-panel .el-table { --el-table-header-bg-color: #faf6f1; --el-table-row-hover-bg-color: #fbf3e9; }
.visual-table-panel .el-table th.el-table__cell { color: #74685e; font-size: 12px; }
.visual-table-panel .el-table td.el-table__cell { color: #5b524a; font-size: 12px; }
.visual-person-name { color: #3e352e; font-weight: 400; }
.visual-rank { display: grid; place-items: center; width: 26px; height: 26px; border-radius: 50%; background: #f5ebdf; color: #855623; font-size: 11px; }
.visual-project-link { max-width: 100%; padding: 0 !important; color: #855623 !important; font-size: 14px !important; font-weight: 600 !important; }
.visual-project-link > span { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.visual-type-efficiency { margin-top: 0; }
.visual-designer-dialog-head strong { display: block; color: #342d27; font-size: 17px; }
.visual-designer-dialog-head span { display: block; margin-top: 4px; color: #998d82; font-size: 11px; }
.visual-person-summary { display: grid; grid-template-columns: repeat(5,1fr); gap: 10px; margin-bottom: 14px; }
.visual-person-summary > div { min-height: 86px; padding: 14px; border: 1px solid #eadfd3; border-radius: 10px; background: #fcf9f6; box-sizing: border-box; }
.visual-person-summary span { display: block; color: #8b8076; font-size: 10px; }
.visual-person-summary strong { display: block; margin-top: 10px; color: #855623; font-size: 22px; }
.visual-person-detail-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-bottom: 14px; }
.visual-person-chart { min-height: 170px; padding: 14px; border: 1px solid #eadfd3; border-radius: 10px; background: #fffdfb; box-sizing: border-box; }
.visual-person-chart > strong { color: #4a4038; font-size: 12px; }
.visual-person-chart .visual-bar-list { max-height: 150px; padding: 12px 0 0; }
.visual-person-types { display: grid; grid-template-columns: repeat(2,1fr); gap: 8px; margin-top: 12px; }
.visual-person-types > div { display: flex; justify-content: space-between; gap: 10px; padding: 10px; border-radius: 7px; background: #faf5ef; }
.visual-person-types span { color: #74685e; font-size: 11px; }
.visual-person-types b { color: #855623; font-size: 11px; }
.arsenal-todo-card { border-color: #eadfd3 !important; border-radius: 14px !important; background: #fffdfb !important; box-shadow: 0 8px 24px rgba(95,65,38,.05); }
.arsenal-todo-card .el-card__header { border-bottom-color: #f0e8df; }
.arsenal-todo-card .card-h { color: #342d27; font-weight: 700; }
@media (max-width: 1280px) {
  .arsenal-metric-grid { grid-template-columns: repeat(3,1fr); }
  .arsenal-dashboard-grid { grid-template-columns: 1fr; }
  .visual-preset-grid { grid-template-columns: repeat(3,1fr); }
  .visual-chart-grid { grid-template-columns: 1fr; }
}
@media (max-width: 1000px) {
  .visual-insight-grid { grid-template-columns: 1fr 1fr; }
  .visual-alert-card { grid-column: 1 / -1; }
}
@media (max-width: 760px) {
  .arsenal-page { padding: 12px; }
  .arsenal-metric-grid { grid-template-columns: repeat(2,1fr); }
  .arsenal-funnel { padding: 18px 12px 10px; }
  .arsenal-funnel-stage { width: 100% !important; padding: 8px 12px; }
  .arsenal-funnel-caption { display: none; }
  .arsenal-status-grid { grid-template-columns: 1fr; }
  .arsenal-page .order-list-config-bar { align-items: flex-start; flex-direction: column; }
  .visual-preset-grid { grid-template-columns: repeat(2,1fr); }
  .visual-summary-grid { grid-template-columns: repeat(2,1fr); }
  .visual-summary-grid > div { border-bottom: 1px solid #f0e8df; }
  .visual-filter-row > * { width: 100% !important; }
  .visual-insight-grid { grid-template-columns: 1fr; }
  .visual-alert-card { grid-column: auto; }
  .visual-person-summary { grid-template-columns: repeat(2,1fr); }
  .visual-person-detail-grid { grid-template-columns: 1fr; }
  .visual-flow-scroll { padding: 14px 10px 18px; }
  .visual-flow-track { min-width: 980px; }
  .visual-flow-settings-drawer { width: 100% !important; }
}
.arsenal-page .board { display: flex; align-items: flex-start; gap: 14px; overflow-x: auto; padding: 2px 2px 14px; }
.arsenal-page, .arsenal-page * { scrollbar-color: #b9a895 #f1ebe5; }
.arsenal-page *::-webkit-scrollbar { width: 10px; height: 10px; }
.arsenal-page *::-webkit-scrollbar-track { border-radius: 6px; background: #f1ebe5; }
.arsenal-page *::-webkit-scrollbar-thumb { min-width: 36px; min-height: 36px; border: 2px solid #f1ebe5; border-radius: 6px; background: #b9a895; }
.arsenal-page *::-webkit-scrollbar-thumb:hover { background: #987a5d; }
.arsenal-page .el-scrollbar__bar.is-horizontal { height: 8px; }
.arsenal-page .el-scrollbar__bar.is-vertical { width: 8px; }
.arsenal-page .el-scrollbar__thumb { background-color: #a99078; opacity: .78; }
.arsenal-page .board-col { flex: 0 0 260px; min-width: 260px; border-radius: 10px; background: #eef1f5; overflow: hidden; }
.arsenal-page .board-head { padding: 11px 13px; color: #303133; font-size: 14px; background: #e5e9ef; border-bottom: 1px solid #dcdfe6; }
.arsenal-page .board-head .dot { display: inline-block; width: 8px; height: 8px; margin-right: 7px; border-radius: 50%; background: #409eff; }
.arsenal-page .board-body { min-height: 90px; max-height: calc(100vh - 255px); overflow-y: auto; padding: 10px; }
.arsenal-page .board-card { margin-bottom: 10px; cursor: pointer; }
.arsenal-page .board-card .el-card__body { padding: 12px; }
.arsenal-page .board-field-row { display: flex; align-items: flex-start; gap: 8px; min-width: 0; padding: 4px 0; font-size: 12px; line-height: 1.5; border-bottom: 1px dashed #ebeef5; }
.arsenal-page .board-field-row:last-of-type { border-bottom: 0; }
.arsenal-page .board-field-label { flex: 0 0 66px; color: #909399; }
.arsenal-page .board-field-value { min-width: 0; color: #303133; overflow-wrap: anywhere; white-space: pre-wrap; }
.arsenal-page .board-field-primary .board-field-value { font-size: 14px; font-weight: 600; color: #185fa5; }
.arsenal-page .bc-actions { display: flex; flex-wrap: nowrap; gap: 5px; margin-top: 10px; }
.arsenal-page .bc-actions .el-button { flex: 1 1 0; min-width: 0; height: 28px; margin-left: 0; padding: 0 4px; border-radius: 4px; font-size: 12px; line-height: 26px; white-space: nowrap; }
.arsenal-page .board-empty { padding: 22px 0; color: #c0c4cc; text-align: center; }
.arsenal-page .board-config-bar { display: flex; justify-content: flex-end; align-items: center; gap: 12px; margin-bottom: 10px; color: #909399; font-size: 12px; }
.arsenal-page .design-board-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 10px; }
.arsenal-page .design-board-filters { display: flex; flex: 1; min-width: 0; align-items: center; gap: 10px; flex-wrap: nowrap; }
.arsenal-page .factory-home-progress-range { color:#64748b; font-size:13px; white-space:nowrap; }
.arsenal-page .design-board-search { display: flex; flex: 0 0 155px; align-items: center; gap: 8px; width: 155px; }
.arsenal-page .design-board-search .el-input { flex: 1; }
.arsenal-page .design-filter-label { flex: 0 0 auto; color: #606266; font-size: 13px; white-space: nowrap; }
.arsenal-page .design-completion-filter { display: flex; align-items: center; gap: 8px; color: #606266; font-size: 13px; white-space: nowrap; }
.arsenal-page .design-board-toolbar .board-config-bar { flex: 0 0 auto; margin-bottom: 0; }
.arsenal-page .design-list-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 14px; margin-bottom: 9px; }
.arsenal-page .design-list-actions { display: flex; flex: 0 0 auto; align-items: center; gap: 6px; }
.arsenal-page .design-list-actions .el-button + .el-button { margin-left: 0; }
.arsenal-page .design-pagination-bar {
  display: flex; align-items: center; justify-content: flex-end; min-height: 28px; margin-top: 4px; color: #8a7d71; font-size: 12px;
}
.arsenal-page .design-pagination-bar .el-pagination { margin: 0; }
.arsenal-page .design-table-footer {
  display: flex; box-sizing: border-box; align-items: center; justify-content: space-between; width: 100%; height: 38px;
  padding: 0 10px; border: 1px solid #eadfd3; border-top: 0; background: #fbf8f4; color: #6f6257; font-size: 11px;
}
.arsenal-page .design-table-summary { display: flex; min-width: 0; align-items: center; gap: 15px; white-space: nowrap; }
.arsenal-page .design-table-summary-label { color: #855623; font-weight: 700; }
.arsenal-page .design-table-summary strong { color: #554a40; font-weight: 700; }
.arsenal-page .design-table-footer .design-pagination-bar { flex: 0 0 auto; min-height: 0; height: 100%; margin: 0; padding: 0; }
.arsenal-page .design-table-footer .el-pagination { display: flex; align-items: center; height: 100%; padding: 0 2px 0 10px; }
.arsenal-page .design-table-footer .el-pagination button { height: 24px; line-height: 22px; }
.arsenal-page .design-status-tabs { display: flex; flex: 1 1 auto; min-width: 0; align-items: center; gap: 6px; margin-bottom: 0; overflow-x: auto; padding-bottom: 1px; }
.arsenal-page .design-status-tabs button {
  min-width: 72px; height: 30px; padding: 0 10px; border: 1px solid #dfc8b0; border-radius: 6px;
  background: #fffaf5; color: #6c543f; font-family: inherit; font-size: 12px; cursor: pointer; white-space: nowrap;
}
.arsenal-page .design-status-tabs button:hover { border-color: #9a632d; color: #855623; }
.arsenal-page .design-status-tabs button.active { border-color: #855623; background: #855623; color: #fff; font-weight: 600; }
.arsenal-page .optimization-group-switch {
  display: inline-flex; flex: 0 0 auto; max-width: 100%; align-items: center; gap: 2px; overflow-x: auto;
  padding: 2px; border: 1px solid #e4d5c7; border-radius: 7px; background: #f8f3ee; scrollbar-width: thin;
}
.arsenal-page .optimization-group-switch button {
  flex: 0 0 auto; min-width: 58px; height: 26px; padding: 0 8px; border: 0; border-radius: 5px;
  background: transparent; color: #715c49; font-family: inherit; font-size: 11px; cursor: pointer; white-space: nowrap;
}
.arsenal-page .optimization-group-switch button:hover,
.arsenal-page .optimization-group-switch button:focus-visible { background: #eee2d6; color: #734719; outline: none; }
.arsenal-page .optimization-group-switch button.active { background: #855623; color: #fff; font-weight: 600; }
.arsenal-page .factory-presence-strip { display:flex; align-items:center; gap:8px; flex-wrap:wrap; margin-left:4px; color:#6b7280; font-size:12px; }
.arsenal-page .factory-presence-label { color:#855623; font-weight:600; }
.arsenal-page .factory-presence-user { display:inline-flex; align-items:center; gap:4px; padding:3px 7px; border:1px solid #e5e7eb; border-radius:12px; background:#fafafa; cursor:pointer; }
.arsenal-page .factory-presence-user i { width:7px; height:7px; border-radius:50%; background:#9ca3af; }
.arsenal-page .factory-presence-user.active { border-color:#67c23a; background:#f0f9eb; color:#356b20; }
.arsenal-page .factory-presence-user.active i { background:#67c23a; box-shadow:0 0 0 3px rgba(103,194,58,.15); }
.arsenal-page .factory-presence-user small { color:#909399; margin-left:2px; }
.arsenal-page .factory-production-presence { justify-content:flex-end; min-height:24px; margin:0 0 6px; }
.arsenal-page .factory-presence-row > td { background:#fff9e8 !important; }
.arsenal-page .factory-selected-row > td { background:#eaf4ff !important; }
.arsenal-page .factory-selected-row.factory-presence-row > td { background:#e5f1ff !important; }
.arsenal-page .design-project-title { display:inline-flex; align-items:center; gap:6px; min-width:0; color:#2563a8; font-weight:600; }
.arsenal-page .design-row-presence { display:inline-block; max-width:145px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; padding:1px 6px; border-radius:10px; background:#e8f3ff; color:#1677ff; font-size:11px; font-weight:500; }
.arsenal-page .design-sequence-presence,
.arsenal-page .design-sequence-stack{display:flex;min-width:0;align-items:flex-start;justify-content:flex-start;gap:7px;white-space:nowrap}
.arsenal-page .design-sequence-value,
.arsenal-page .design-sequence-number{display:block;flex:0 0 auto;min-width:20px;padding-top:5px;line-height:20px}
.arsenal-page .design-sequence-collaborator{position:static;display:inline-flex;min-width:0;max-width:116px;min-height:31px;align-items:center;gap:5px;padding:3px 6px;border:1px solid #cfe3fa;border-radius:8px;box-sizing:border-box;overflow:hidden;background:#f2f8ff;color:#2469a8;font-size:10px;line-height:1.25;vertical-align:middle;cursor:help}
.arsenal-page .design-sequence-collaborator.is-editing{border-color:#f2ca7c;background:#fff7e6;color:#8a5911}
.arsenal-page .design-sequence-collaborator:focus-visible{outline:2px solid #409eff;outline-offset:1px}
.arsenal-page .design-sequence-collaborator-avatar{display:inline-flex;flex:0 0 22px;width:22px;height:22px;align-items:center;justify-content:center;overflow:hidden;border-radius:50%;background:#2f78c4;color:#fff;font-size:11px;font-weight:600}
.arsenal-page .design-sequence-collaborator.is-editing .design-sequence-collaborator-avatar{background:#b7791f}
.arsenal-page .design-sequence-collaborator-avatar img{display:block;width:100%;height:100%;object-fit:cover}
.arsenal-page .design-sequence-collaborator-meta{display:flex;min-width:0;flex:1 1 auto;flex-direction:column;gap:1px;overflow:hidden}
.arsenal-page .design-sequence-collaborator-name,
.arsenal-page .design-sequence-collaborator-context{display:block;min-width:0;max-width:78px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.arsenal-page .design-sequence-collaborator-name{font-weight:600}
.arsenal-page .design-sequence-collaborator-context{color:#5f7f9e;font-size:9px}
.arsenal-page .design-sequence-collaborator.is-editing .design-sequence-collaborator-context{color:#956a2d}
.arsenal-page .design-sequence-collaborator small{flex:0 0 auto;padding:1px 3px;border-radius:6px;background:rgba(255,255,255,.75);font-size:9px;line-height:1.2}
.arsenal-page .design-production-table td.design-field-column--sequence:has(.design-sequence-collaborator){vertical-align:top}
.arsenal-page .design-production-table td.design-field-column--sequence:has(.design-sequence-collaborator)>.cell{overflow:visible}
.arsenal-page .design-field-column--_selection .cell{display:flex;align-items:center;justify-content:center;padding-right:4px;padding-left:4px}
@media (max-width:1100px){.arsenal-page .design-sequence-collaborator{max-width:105px}.arsenal-page .design-sequence-collaborator-name,.arsenal-page .design-sequence-collaborator-context{max-width:68px}}
.arsenal-page .design-requirement-cell { display:flex; align-items:flex-start; gap:7px; min-width:0; width:100%; cursor:pointer; }
.arsenal-page .design-requirement-cell > span { flex:1 1 auto; min-width:0; display:-webkit-box; overflow:hidden; -webkit-box-orient:vertical; -webkit-line-clamp:1; white-space:normal; word-break:break-word; }
.arsenal-page .design-requirement-cell > span.expanded { display:block; flex:1; overflow:visible; white-space:pre-wrap; word-break:break-word; }
.arsenal-page .design-requirement-cell .el-button,
.arsenal-page .design-production-table .order-copy-cell .order-copy-button { flex:0 0 48px; width:48px; min-width:48px; height:24px; min-height:24px; margin-left:auto; padding:0 7px; border-radius:4px; font-size:13px; line-height:22px; }
.arsenal-page .factory-order-log-panel { margin:8px 0 4px; padding:12px; border:1px solid #eee3d8; border-radius:8px; background:#fffdfa; }
.arsenal-page .factory-order-log-head { display:flex; align-items:center; gap:8px; margin-bottom:8px; }
.arsenal-page .factory-order-log-head span { color:#9a8d81; font-size:12px; }
.arsenal-page .factory-order-log-list { max-height:220px; overflow:auto; margin:0; padding-top:4px; }
.arsenal-page .task-status-select { width:92px; }
.arsenal-page .design-production-table .design-project-link { font-size: inherit; font-weight: 600; }
.arsenal-page .design-production-table,
.arsenal-page .design-production-table th.el-table__cell,
.arsenal-page .design-production-table td.el-table__cell,
.arsenal-page .design-production-table th.el-table__cell .cell,
.arsenal-page .design-production-table td.el-table__cell .cell { font-size: 14px; }
.arsenal-page .design-production-table .design-row-actions { gap: 5px; flex-wrap: wrap; }
.arsenal-page .design-production-table .design-row-actions .el-button {
  box-sizing: border-box; min-width: 48px; height: 28px; margin-left: 0; padding: 0 8px;
  border-width: 1px; border-radius: 5px; font-size: 14px; font-weight: 400; line-height: 26px; white-space: nowrap;
}
.arsenal-page .design-production-table .design-row-actions .design-secondary-button,
.arsenal-page .design-production-table .design-row-actions .design-copy-button {
  border-color: #a99078; background: #fffaf5; color: #6c543f;
}
.arsenal-page .design-production-table .design-row-actions .design-secondary-button:hover,
.arsenal-page .design-production-table .design-row-actions .design-secondary-button:focus,
.arsenal-page .design-production-table .design-row-actions .design-copy-button:hover,
.arsenal-page .design-production-table .design-row-actions .design-copy-button:focus {
  border-color: #855623; background: #f7ede2; color: #70471d;
}
.arsenal-page .design-production-table.el-table--small .el-table__cell { padding-top: 5px; padding-bottom: 5px; }
.arsenal-page .design-status-cell { display: inline-flex; align-items: center; gap: 5px; white-space: nowrap; }
.arsenal-page .pause-reason-link { height: auto; padding: 0; color: #a16b2b; font-size: 12px; font-weight: 600; }
.arsenal-page .pause-reason-link:hover,
.arsenal-page .pause-reason-link:focus { color: #7d4f14; }
.arsenal-page .pause-reason-panel {
  margin-bottom: 12px; padding: 12px 14px; border: 1px solid #e5bd79; border-left: 4px solid #b7791f;
  border-radius: 6px; background: #fff8e8; color: #60431e; line-height: 1.7; white-space: pre-wrap; overflow-wrap: anywhere;
}
.arsenal-page .pause-reason-panel strong { display: block; margin-bottom: 5px; color: #8d5c16; }
.arsenal-page .pause-reason-meta { margin-top: 6px; color: #806947; font-size: 12px; }
.arsenal-page .pause-reason-form-tip { margin-top: 5px; color: #909399; font-size: 12px; line-height: 1.5; }
/* 设计生产：状态标签和对应动作使用同一套语义色；颜色名由 statusColorConfig 统一映射。 */
.arsenal-page .factory-status-tag { border: 0; font-weight: 400; }

/* 兵工厂业务列表：按现有实际字号统一增加 2px，且仅项目名称强调。 */
.arsenal-page .el-table:not(.design-production-table),
.arsenal-page .el-table:not(.design-production-table) th.el-table__cell,
.arsenal-page .el-table:not(.design-production-table) td.el-table__cell,
.arsenal-page .el-table:not(.design-production-table) th.el-table__cell .cell,
.arsenal-page .el-table:not(.design-production-table) td.el-table__cell .cell,
.archive-dialog .el-table,
.archive-dialog .el-table th.el-table__cell,
.archive-dialog .el-table td.el-table__cell,
.archive-dialog .el-table th.el-table__cell .cell,
.archive-dialog .el-table td.el-table__cell .cell {
  font-size: 16px;
}
.arsenal-page .order-table-with-summary:not(.design-production-table),
.arsenal-page .order-table-with-summary:not(.design-production-table) th.el-table__cell,
.arsenal-page .order-table-with-summary:not(.design-production-table) td.el-table__cell,
.arsenal-page .order-table-with-summary:not(.design-production-table) th.el-table__cell .cell,
.arsenal-page .order-table-with-summary:not(.design-production-table) td.el-table__cell .cell {
  font-size: 16px;
}
.arsenal-page .visual-table-panel .el-table th.el-table__cell,
.arsenal-page .visual-table-panel .el-table td.el-table__cell,
.arsenal-page .visual-table-panel .el-table th.el-table__cell .cell,
.arsenal-page .visual-table-panel .el-table td.el-table__cell .cell {
  font-size: 14px;
}
.arsenal-page .el-table__body-wrapper td.el-table__cell .cell,
.arsenal-page .el-table__fixed-body-wrapper td.el-table__cell .cell,
.archive-dialog .el-table__body-wrapper td.el-table__cell .cell,
.archive-dialog .el-table__fixed-body-wrapper td.el-table__cell .cell {
  font-weight: 400;
}
.arsenal-page .el-table__body-wrapper td.el-table__cell .el-tag,
.arsenal-page .el-table__fixed-body-wrapper td.el-table__cell .el-tag,
.archive-dialog .el-table__body-wrapper td.el-table__cell .el-tag {
  box-sizing: border-box;
  min-height: 24px;
  font-size: 14px;
  line-height: 22px;
  font-weight: 400;
}
.arsenal-page .design-table-footer { font-size: 13px; }
.arsenal-page .design-table-footer .el-pagination { font-size: 13px; }
.arsenal-page .order-table-with-summary .el-table__footer-wrapper td.el-table__cell,
.arsenal-page .order-table-with-summary .el-table__footer-wrapper td.el-table__cell .cell {
  font-size: 13px;
}
/* 项目名称是业务列表正文中唯一的加粗字段。 */
.arsenal-page .el-table__body-wrapper td.arsenal-primary-title-column .cell,
.arsenal-page .el-table__fixed-body-wrapper td.arsenal-primary-title-column .cell,
.archive-dialog .el-table__body-wrapper td.arsenal-primary-title-column .cell {
  font-weight: 600;
}
/* 设计生产的文件链路：文本可省略，复制和打开按钮始终贴齐单元格右侧。 */
.arsenal-page .design-production-table .order-copy-cell {
  width: 100%; justify-content: flex-end; gap: 8px;
}
.arsenal-page .design-production-table .order-copy-cell > span { flex: 1 1 auto; }
.arsenal-page .design-production-table .order-copy-cell .order-copy-button {
  flex: 0 0 48px; min-width: 48px; margin-left: auto;
}
/* 非设计生产列表原字号为 14px；增至 16px 后同步扩展操作按钮，避免文字裁切。 */
.arsenal-page .order-table-with-summary:not(.design-production-table) .order-row-actions .el-button {
  min-height: 30px;
  height: 30px;
  font-size: 16px;
  line-height: 28px;
}
.archive-dialog .el-table td.arsenal-actions-column .el-button {
  min-height: 30px;
  font-size: 16px;
  font-weight: 400;
  line-height: 28px;
}
.arsenal-page .factory-status-draft { border: 1px solid #8c8c8c !important; background: #f5f5f5 !important; color: #595959 !important; }
.arsenal-page .factory-status-pending-claim { border: 1px solid #1677ff !important; background: #e6f4ff !important; color: #1677ff !important; }
.arsenal-page .factory-status-claimed { border: 1px solid #13c2c2 !important; background: #e6fffb !important; color: #08979c !important; }
.arsenal-page .factory-status-producing { border: 1px solid #722ed1 !important; background: #f9f0ff !important; color: #722ed1 !important; }
.arsenal-page .factory-status-paused { background: #1f1f1f !important; border-color: #1f1f1f !important; color: #fff !important; }

/* 优化上架“标题定价”链接在单元格中直接编辑；输入框只占剩余空间，
   “打开”始终完整显示且不会反向撑宽动态列。 */
.arsenal-page .stage-link-editor { display: flex; align-items: center; gap: 6px; width: 100%; min-width: 0; }
.arsenal-page .stage-link-editor .el-input { flex: 1 1 auto; width: 0; min-width: 0; }
.arsenal-page .stage-link-editor .el-input__wrapper { min-width: 0; }
.arsenal-page .stage-link-editor .stage-link-value { flex: 1 1 auto; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.arsenal-page .stage-link-editor .order-copy-button { flex: 0 0 auto; }
.arsenal-page .factory-status-returned { background: #d9534f !important; color: #fff !important; }
.arsenal-page .factory-status-pending-accept,
.arsenal-page .factory-status-pending-alloc,
.arsenal-page .factory-status-needs-coding,
.arsenal-page .factory-status-pending-final { background: #a16b2b !important; color: #fff !important; }
.arsenal-page .factory-status-link-optimization { background: #3f78b5 !important; color: #fff !important; }
.arsenal-page .factory-status-title-pricing { background: #7c3aed !important; color: #fff !important; }
.arsenal-page .factory-status-accepted,
.arsenal-page .factory-status-delivered,
.arsenal-page .factory-status-design-completed { background: #4f9a62 !important; color: #fff !important; }
.arsenal-page .factory-status-pending-listing,
.arsenal-page .factory-status-listing { background: #3f78b5 !important; color: #fff !important; }
.arsenal-page .factory-status-cancelled,
.arsenal-page .factory-status-default { background: #5f6670 !important; color: #fff !important; }
.arsenal-page .order-row-actions .el-button[class*="factory-action-"]:not(.is-disabled) { color: #fff !important; }
.arsenal-page .order-row-actions .el-button.is-link.factory-action-draft:not(.is-disabled) { border-color: #8c8c8c; background: #8c8c8c; }
.arsenal-page .order-row-actions .el-button.is-link.factory-action-pending-claim:not(.is-disabled) { border-color: #1677ff; background: #1677ff; }
.arsenal-page .order-row-actions .el-button.is-link.factory-action-claimed:not(.is-disabled) { border-color: #13c2c2; background: #13c2c2; }
.arsenal-page .order-row-actions .el-button.is-link.factory-action-producing:not(.is-disabled) { border-color: #722ed1; background: #722ed1; }
.arsenal-page .order-row-actions .el-button.is-link.factory-action-paused:not(.is-disabled) { border-color: #1f1f1f; background: #1f1f1f; }
.arsenal-page .order-row-actions .el-button.is-link.factory-action-returned:not(.is-disabled) { border-color: #d9534f; background: #d9534f; }
.arsenal-page .order-row-actions .el-button.is-link.factory-action-pending-accept:not(.is-disabled) { border-color: #a16b2b; background: #a16b2b; }
.arsenal-page .order-row-actions .el-button.is-link.factory-action-design-completed:not(.is-disabled),
.arsenal-page .order-row-actions .el-button.is-link.factory-action-accepted:not(.is-disabled),
.arsenal-page .order-row-actions .el-button.is-link.factory-action-delivered:not(.is-disabled) { border-color: #4f9a62; background: #4f9a62; }
.arsenal-page .order-row-actions .el-button.is-link.factory-action-needs-coding:not(.is-disabled),
.arsenal-page .order-row-actions .el-button.is-link.factory-action-pending-final:not(.is-disabled) { border-color: #a16b2b; background: #a16b2b; }
.arsenal-page .order-row-actions .el-button.is-link.factory-action-title-pricing:not(.is-disabled) { border-color: #7c3aed; background: #7c3aed; }
.arsenal-page .order-row-actions .el-button.is-link.factory-action-link-optimization:not(.is-disabled) { border-color: #3f78b5; background: #3f78b5; }
.arsenal-page .order-row-actions .el-button.is-link.factory-action-pending-listing:not(.is-disabled),
.arsenal-page .order-row-actions .el-button.is-link.factory-action-listing:not(.is-disabled) { border-color: #3f78b5; background: #3f78b5; }
.arsenal-page .order-row-actions .el-button.factory-complete-listing-action:not(.is-disabled) {
  border-color: #3f78b5 !important; background: #3f78b5 !important; color: #fff !important;
  box-shadow: 0 2px 6px rgba(63,120,181,.24);
}
.arsenal-page .order-row-actions .el-button.factory-complete-listing-action:not(.is-disabled):hover,
.arsenal-page .order-row-actions .el-button.factory-complete-listing-action:not(.is-disabled):focus {
  border-color: #315f90 !important; background: #315f90 !important; color: #fff !important;
}
.arsenal-page .order-row-actions .el-button.factory-complete-listing-action.is-disabled {
  border-color: #b8cef2 !important; background: #d7e5fa !important; color: #6f8fbd !important;
}
.arsenal-page .order-row-actions .el-button.is-link[class*="factory-action-"]:not(.is-disabled):hover,
.arsenal-page .order-row-actions .el-button.is-link[class*="factory-action-"]:not(.is-disabled):focus { filter: brightness(.9); }
.arsenal-page .factory-auto-route-rules .el-table { margin-bottom: 10px; }
.arsenal-page .factory-settings-card,
.arsenal-page .factory-settings-card .el-card__body,
.arsenal-page .factory-settings-form,
.arsenal-page .factory-settings-form .factory-auto-route-rules { width: 100%; max-width: none; box-sizing: border-box; }
.arsenal-page .factory-settings-form .el-form-item__content { max-width: none; }
.arsenal-page .factory-auto-route-rules .el-table { width: 100%; }
.arsenal-page .factory-auto-route-rules .el-input__wrapper,
.arsenal-page .factory-auto-route-rules .el-select__wrapper { min-height: 28px; }
.arsenal-page .factory-auto-route-actions { display: flex; justify-content: flex-end; gap: 8px; }
.arsenal-page .listing-custom-field-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 5px; margin: 7px 0; }
.listing-custom-option-editor{display:flex;flex-direction:column;gap:9px;width:100%}.listing-custom-option-row{display:grid;grid-template-columns:minmax(0,1fr) 42px 46px;align-items:center;gap:8px}.listing-custom-option-editor>small{color:#909399;line-height:1.5}.listing-color-option{display:inline-flex;align-items:center;min-height:24px;padding:2px 8px;border:1px solid transparent;border-radius:6px;line-height:20px}.arsenal-page .listing-color-tag{border-style:solid;font-weight:600}.arsenal-page .listing-color-select.has-colored-option .el-select__wrapper{border-color:var(--listing-option-border);background:var(--listing-option-bg);color:var(--listing-option-fg);box-shadow:0 0 0 1px var(--listing-option-border) inset}.arsenal-page .listing-color-select.has-colored-option .el-select__selected-item,.arsenal-page .listing-color-select.has-colored-option .el-select__placeholder,.arsenal-page .listing-color-select.has-colored-option .el-select__caret{color:var(--listing-option-fg)!important}.arsenal-page .factory-incubation-coding-issue-action.el-button.is-link:not(.is-disabled){border-color:#151515!important;background:#151515!important;color:#fff!important}.arsenal-page .factory-incubation-coding-issue-action.el-button.is-link:not(.is-disabled):hover,.arsenal-page .factory-incubation-coding-issue-action.el-button.is-link:not(.is-disabled):focus{border-color:#000!important;background:#000!important;color:#fff!important}.arsenal-page .factory-incubation-coding-issue-action.el-button.is-disabled{border-color:#c8c9cc!important;background:#c8c9cc!important;color:#fff!important}
.arsenal-page .factory-production-card { min-height: calc(100vh - 230px); box-sizing: border-box; }
.arsenal-page .factory-production-card .el-empty { min-height: calc(100vh - 300px); }
.arsenal-page .design-list-actions .design-tool-button {
  box-sizing: border-box; min-width: 82px; height: 30px; margin-left: 0; padding: 0 12px;
  border-width: 1px; border-radius: 6px; font-size: 12px; font-weight: 600; line-height: 28px;
}
.arsenal-page .design-list-actions .factory-batch-claim:not(.is-disabled) { border-color: #1677ff; background: #1677ff; color: #fff; }
.arsenal-page .design-list-actions .factory-batch-start:not(.is-disabled) { border-color: #13c2c2; background: #13c2c2; color: #fff; }
.arsenal-page .design-list-actions .factory-batch-submit:not(.is-disabled) { border-color: #722ed1; background: #722ed1; color: #fff; }
.arsenal-page .design-list-actions .design-display-fields-button { border-color: #d9c3ad; background: #fffaf5; color: #6c543f; }
.arsenal-page .design-list-actions .factory-batch-claim:not(.is-disabled):hover,
.arsenal-page .design-list-actions .factory-batch-claim:not(.is-disabled):focus { border-color: #0958d9; background: #0958d9; color: #fff; }
.arsenal-page .design-list-actions .factory-batch-start:not(.is-disabled):hover,
.arsenal-page .design-list-actions .factory-batch-start:not(.is-disabled):focus { border-color: #08979c; background: #08979c; color: #fff; }
.arsenal-page .design-list-actions .factory-batch-submit:not(.is-disabled):hover,
.arsenal-page .design-list-actions .factory-batch-submit:not(.is-disabled):focus { border-color: #531dab; background: #531dab; color: #fff; }
.arsenal-page .design-list-actions .design-display-fields-button:hover,
.arsenal-page .design-list-actions .design-display-fields-button:focus { border-color: #9b6b3c; background: #f7ede2; color: #70471d; }
@media (max-width: 900px) {
  .arsenal-page .design-board-toolbar { align-items: stretch; flex-direction: column; }
  .arsenal-page .design-board-filters { align-items: stretch; flex-direction: column; }
  .arsenal-page .design-board-search { width: 100%; flex-basis: auto; }
  .arsenal-page .design-completion-filter { flex-wrap: wrap; }
  .arsenal-page .design-board-toolbar .board-config-bar { justify-content: space-between; }
  .arsenal-page .design-list-toolbar { align-items: stretch; flex-direction: column; }
  .arsenal-page .design-list-actions { justify-content: flex-end; flex-wrap: wrap; }
  .arsenal-page .optimization-group-switch { width: 100%; box-sizing: border-box; }
  .arsenal-page .optimization-group-switch button { flex: 1 0 auto; }
}
.list-config-header { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.field-config-panel { max-height: 480px; padding-right: 4px; overflow-y: auto; }
.field-config-tip { margin-bottom: 8px; color: #909399; font-size: 12px; line-height: 18px; }
.field-config-panel .el-checkbox-group { display: flex; flex-direction: column; gap: 2px; margin-bottom: 8px; }
.field-config-row { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 34px; padding: 2px 6px; border-bottom: 1px solid #f1ebe5; box-sizing: border-box; }
.field-config-row .el-checkbox { flex: 1; min-width: 0; margin-right: 0; }
.field-config-actions { display: flex; flex: 0 0 auto; align-items: center; gap: 2px; }
.field-config-actions .el-button { margin-left: 0; padding: 3px 5px; }
.archive-config-bar { margin-top: 0; }
.archive-time-filter{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.archive-time-filter .el-button{margin-left:0}.archive-time-filter .el-date-editor{width:280px}.archive-config-description{margin-left:auto;color:#8b7d70;font-size:12px}
.stage-copy-all-button{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;margin-left:5px;padding:0;border:0;border-radius:4px;background:transparent;color:#976321;font-size:15px;line-height:1;cursor:pointer;vertical-align:middle}.stage-copy-all-button:hover,.stage-copy-all-button:focus-visible{background:#f1e4d3;color:#704510;outline:none}.design-ai-link-cell>span{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.design-ai-link-cell .order-copy-button{flex:0 0 auto}
.festival-auto-save-error .el-input__wrapper{box-shadow:0 0 0 1px #f56c6c inset!important;background:#fff5f5}.festival-auto-save-error .el-input__inner{color:#c45656}
.arsenal-page .listing-tools { display: flex; justify-content: flex-end; align-items: center; gap: 8px; margin-bottom: 10px; }
.arsenal-page .listing-tool-entry {
  display: flex; align-items: center; gap: 6px; width: 148px; min-height: 44px; padding: 6px 11px;
  border: 1px solid #dfc8b0; border-radius: 9px; background: linear-gradient(135deg,#fffaf4,#f8eee3);
  color: #4b3726; text-align: left; cursor: pointer; box-shadow: 0 4px 12px rgba(111,75,42,.06);
  transition: border-color .2s, box-shadow .2s, transform .2s;
}
.arsenal-page .listing-tool-entry:hover { border-color: #a66f3c; box-shadow: 0 6px 16px rgba(111,75,42,.11); transform: translateY(-1px); }
.listing-tool-icon { display: grid; flex: 0 0 28px; width: 28px; height: 28px; place-items: center; border-radius: 8px; background: #855623; color: #fff; font-size: 12px; font-weight: 700; }
.listing-tool-copy { display: flex; flex: 1; min-width: 0; flex-direction: column; }
.listing-tool-copy b { font-size: 12px; line-height: 17px; white-space: nowrap; }
.listing-tool-copy small { color: #9b8774; font-size: 9px; line-height: 14px; }
.listing-tool-arrow { color: #a87a50; font-family: Arial,sans-serif; font-size: 19px; line-height: 1; }
.archive-dialog-head { display: flex; align-items: center; gap: 11px; }
.archive-dialog-head div { display: flex; flex-direction: column; }
.archive-dialog-head b { color: #3e3024; font-size: 16px; line-height: 22px; }
.archive-dialog-head small { color: #9a8b7e; font-size: 11px; line-height: 18px; }
.arsenal-drawer-head { display: flex; width: 100%; align-items: center; gap: 12px; }
.arsenal-drawer-head strong { min-width: 0; overflow: hidden; color: #342d27; font-size: 16px; text-overflow: ellipsis; white-space: nowrap; }
.arsenal-drawer-close { flex: 0 0 auto; height: 28px; padding: 0 12px; border: 1px solid #855623; border-radius: 5px; background: #855623; color: #fff; font-family: inherit; font-size: 13px; font-weight: 600; cursor: pointer; }
.arsenal-drawer-close:hover { border-color: #9b6b3c; background: #9b6b3c; }
@media (max-width: 900px) {
  .arsenal-page .listing-tools { justify-content: flex-start; flex-wrap: wrap; }
}
.board-field-picker .el-checkbox-group { display: grid; grid-template-columns: repeat(3, 1fr); gap: 4px 10px; margin-bottom: 10px; }
.board-field-picker .el-checkbox { margin-right: 0; }
.project-type-option { display: inline-block; min-width: 72px; padding: 3px 10px; border: 1px solid; border-radius: 12px; line-height: 18px; text-align: center; }
.selected-project-type { margin-top: 7px; }
.module-card-manufacturing {
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(circle at 82% 18%, rgba(139, 92, 246, .42), transparent 34%),
    linear-gradient(145deg, #12152c 0%, #26245f 54%, #153f60 100%);
}
.module-card-manufacturing::before, .module-card-manufacturing::after {
  content: ""; position: absolute; border: 1px solid rgba(255,255,255,.18); border-radius: 50%;
}
.module-card-manufacturing::before { width: 150px; height: 150px; right: -45px; top: -62px; }
.module-card-manufacturing::after { width: 95px; height: 95px; right: 32px; bottom: -58px; }
.module-card-manufacturing .module-name, .module-card-manufacturing .module-desc { color: #fff; position: relative; z-index: 1; }

/* 伊梦智造 */
.mfg-shell { min-height: calc(100vh - 88px); margin: -16px; background: #f4f6fb; color: #20243a; }
.mfg-nav { position: relative; flex: 0 0 218px; padding: 22px 14px; background: #171a35; color: #c9cee8; box-sizing: border-box; }
.mfg-nav-brand { display: flex; align-items: center; gap: 11px; padding: 0 10px 24px; border-bottom: 1px solid rgba(255,255,255,.09); margin-bottom: 16px; }
.mfg-nav-brand strong { display: block; color: #fff; font-size: 17px; letter-spacing: 1px; }
.mfg-nav-brand small { display: block; margin-top: 3px; color: #8990b5; font-size: 10px; }
.mfg-mark { display: grid; place-items: center; width: 38px; height: 38px; border-radius: 11px; background: linear-gradient(145deg,#725cff,#33a9de); color: #fff; font-size: 12px; font-weight: 800; box-shadow: 0 8px 20px rgba(74,76,219,.38); }
.mfg-nav-back { width: 100%; margin: 0 0 10px; padding: 9px 12px; border: 1px solid rgba(255,255,255,.1); border-radius: 8px; background: rgba(255,255,255,.035); color: #aeb5d7; font-size: 12px; text-align: left; cursor: pointer; }
.mfg-nav-back:hover { border-color: rgba(158,146,255,.45); color: #fff; }
.mfg-nav-section { margin: 14px 12px 7px; color: #777fa9; font-size: 11px; font-weight: 700; letter-spacing: .8px; }
.mfg-nav-item { display: flex; align-items: center; gap: 12px; width: 100%; margin: 4px 0; padding: 12px 14px; border: 0; border-radius: 9px; background: transparent; color: #aeb5d7; font-size: 14px; text-align: left; cursor: pointer; transition: .2s; }
.mfg-nav-item span { width: 20px; color: #777fa9; font-size: 17px; text-align: center; }
.mfg-nav-item:hover { background: rgba(255,255,255,.055); color: #fff; }
.mfg-nav-item.active { background: linear-gradient(90deg,rgba(111,92,255,.30),rgba(111,92,255,.08)); color: #fff; box-shadow: inset 3px 0 #7b6cff; }
.mfg-nav-item.active span { color: #9e92ff; }
.mfg-nav-item em { margin-left: auto; padding: 2px 6px; border-radius: 8px; background: rgba(255,255,255,.09); color: #858dac; font-size: 9px; font-style: normal; }
.mfg-nav-foot { position: absolute; left: 24px; right: 24px; bottom: 22px; color: #9ca3c5; font-size: 11px; }
.mfg-nav-foot small { display: block; margin: 5px 0 0 13px; color: #626a91; }
.mfg-live-dot { display: inline-block; width: 7px; height: 7px; margin-right: 5px; border-radius: 50%; background: #33d399; box-shadow: 0 0 0 4px rgba(51,211,153,.12); }
.mfg-live-dot.error { background: #ef6671; box-shadow: 0 0 0 4px rgba(239,102,113,.12); }
.mfg-main { width: 100%; min-width: 0; padding: 26px 30px 40px; box-sizing: border-box; overflow: auto; }
.mfg-center-tabs { display: flex; align-items: center; gap: 7px; margin: 0 0 20px; padding: 8px; border: 1px solid #e4e7ef; border-radius: 12px; background: #fff; box-shadow: 0 3px 14px rgba(38,44,73,.035); }
.mfg-center-tabs > strong { margin: 0 10px 0 4px; color: #353a50; font-size: 13px; white-space: nowrap; }
.mfg-center-back, .mfg-center-tab { height: 36px; padding: 0 14px; border: 0; border-radius: 8px; background: transparent; color: #70778c; font-family: inherit; font-size: 13px; cursor: pointer; white-space: nowrap; }
.mfg-center-back { border: 1px solid #e5e7ef; background: #fafbfe; color: #626a80; }
.mfg-center-back:hover { border-color: #b9b1fa; color: #6758df; }
.mfg-center-tab { display: inline-flex; align-items: center; gap: 7px; }
.mfg-center-tab span { color: #9298aa; }
.mfg-center-tab:hover { background: #f5f4ff; color: #6758df; }
.mfg-center-tab.active { background: #6d5ce8; color: #fff; box-shadow: 0 5px 12px rgba(109,92,232,.22); }
.mfg-center-tab.active span { color: #fff; }
.mfg-page-head { display: flex; justify-content: space-between; align-items: center; margin-bottom: 22px; }
.mfg-page-head h2 { margin: 0; font-size: 23px; letter-spacing: .5px; }
.mfg-page-head p { margin: 6px 0 0; color: #8a91a5; font-size: 13px; }
.mfg-head-actions { display: flex; gap: 8px; }
.mfg-metrics { display: grid; grid-template-columns: repeat(4,minmax(150px,1fr)); gap: 14px; margin-bottom: 16px; }
.mfg-metric { position: relative; overflow: hidden; min-height: 108px; padding: 18px 20px; border: 1px solid #e9ebf3; border-radius: 13px; background: #fff; box-sizing: border-box; box-shadow: 0 3px 14px rgba(38,44,73,.035); }
.mfg-metric::after { content: ""; position: absolute; width: 72px; height: 72px; right: -22px; top: -22px; border-radius: 50%; background: currentColor; opacity: .08; }
.mfg-metric span { display: block; color: #737b90; font-size: 12px; }
.mfg-metric strong { display: block; margin: 7px 0 3px; color: #22263c; font-size: 28px; }
.mfg-metric strong i { font-style: normal; font-size: 14px; }
.mfg-metric small { color: #a4a9b8; }
.mfg-metric.purple { color: #715cf4; border-top: 3px solid #715cf4; }
.mfg-metric.amber { color: #e7a23c; border-top: 3px solid #e7a23c; }
.mfg-metric.blue { color: #3c89ef; border-top: 3px solid #3c89ef; }
.mfg-metric.green { color: #28ad7b; border-top: 3px solid #28ad7b; }
.mfg-metric.red { color: #e45e67; border-top: 3px solid #e45e67; }
.mfg-overview-grid { display: grid; grid-template-columns: minmax(0,2.2fr) minmax(240px,.8fr); gap: 16px; }
.mfg-panel { padding: 18px; border: 1px solid #e9ebf3; border-radius: 13px; background: #fff; box-shadow: 0 3px 14px rgba(38,44,73,.035); }
.mfg-panel-title { display: flex; justify-content: space-between; align-items: center; min-height: 30px; margin-bottom: 11px; }
.mfg-panel-title strong { font-size: 15px; }
.mfg-capacity > div:not(.mfg-panel-title) { display: flex; justify-content: space-between; padding: 10px 3px; border-bottom: 1px solid #f0f1f6; color: #72798d; font-size: 13px; }
.mfg-capacity b { color: #262a3e; font-size: 16px; }
.mfg-capacity b.danger, .danger { color: #dc4c5a !important; }
.mfg-flow { margin-top: 16px; padding: 20px 22px; border-radius: 13px; background: linear-gradient(100deg,#211f4e,#2d4778); color: #fff; }
.mfg-flow > strong { display: block; margin-bottom: 16px; font-size: 14px; }
.mfg-flow > div { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.mfg-flow span { padding: 8px 11px; border: 1px solid rgba(255,255,255,.14); border-radius: 8px; background: rgba(255,255,255,.08); color: #e9ebff; font-size: 12px; }
.mfg-flow i { color: #858db9; font-style: normal; }
.mfg-status-strip { display: flex; gap: 8px; margin-bottom: 13px; }
.mfg-status-strip button { padding: 10px 15px; border: 1px solid #e3e6ef; border-radius: 9px; background: #fff; color: #687086; cursor: pointer; }
.mfg-status-strip button b { margin-left: 7px; color: #2d3247; }
.mfg-status-strip button.active { border-color: #6d5ce8; background: #6d5ce8; color: #fff; }
.mfg-status-strip button.active b { color: #fff; }
.mfg-filter { display: flex; gap: 9px; margin-bottom: 13px; }
.mfg-type-pill { display: inline-block; padding: 3px 8px; border-radius: 12px; background: #f0edff; color: #6654d8; font-size: 11px; }
.mfg-muted { color: #9298aa; font-size: 12px; }
.mfg-empty { display: grid; place-items: center; min-height: 410px; padding: 30px; border: 1px dashed #d8dbea; border-radius: 14px; background: #fff; text-align: center; box-sizing: border-box; }
.mfg-empty > * { margin: 4px; }
.mfg-empty-icon { display: grid; place-items: center; width: 62px; height: 62px; border-radius: 18px; background: #efedff; color: #7362ec; font-size: 30px; }
.mfg-empty p { color: #9298aa; }
.mfg-template-grid { display: grid; grid-template-columns: repeat(3,minmax(240px,1fr)); gap: 16px; }
.mfg-template-card { overflow: hidden; border: 1px solid #e4e7ef; border-radius: 13px; background: #fff; transition: .2s; }
.mfg-template-card:hover { transform: translateY(-2px); box-shadow: 0 12px 26px rgba(42,46,78,.09); }
.mfg-template-preview { position: relative; display: grid; place-items: center; height: 190px; overflow: hidden; background: #242744; }
.mfg-template-preview img { width: 100%; height: 100%; object-fit: cover; }
.mfg-video-placeholder { display: flex; flex-direction: column; align-items: center; gap: 9px; color: #bfc5df; font-size: 12px; }
.mfg-video-placeholder span { display: grid; place-items: center; width: 48px; height: 48px; border: 1px solid rgba(255,255,255,.25); border-radius: 50%; color: #fff; font-size: 20px; }
.mfg-version { position: absolute; top: 10px; right: 10px; padding: 3px 8px; border-radius: 10px; background: rgba(12,14,32,.7); color: #fff; font-size: 11px; }
.mfg-template-body { padding: 15px; }
.mfg-template-title { display: flex; justify-content: space-between; align-items: center; }
.mfg-template-body p { margin: 7px 0 12px; color: #9096a8; font-size: 11px; }
.mfg-field-chips { display: flex; flex-wrap: wrap; gap: 5px; min-height: 25px; }
.mfg-field-chips span, .mfg-field-chips em { padding: 3px 7px; border-radius: 5px; background: #f3f4f8; color: #6c7283; font-size: 10px; font-style: normal; }
.mfg-template-body footer { display: flex; justify-content: space-between; align-items: center; min-height: 32px; margin-top: 12px; padding-top: 9px; border-top: 1px solid #f0f1f5; color: #a0a5b3; font-size: 10px; }
.mfg-bars { display: flex; align-items: flex-end; gap: 10px; min-height: 210px; overflow-x: auto; padding: 18px 4px 4px; }
.mfg-bars > div { display: flex; flex-direction: column-reverse; align-items: center; min-width: 32px; gap: 5px; }
.mfg-bars i { width: 18px; max-height: 160px; border-radius: 4px 4px 1px 1px; background: linear-gradient(#7b67ef,#3b8ce9); }
.mfg-bars span, .mfg-bars b { color: #858b9d; font-size: 9px; font-weight: 400; }
.mfg-type-stats { display: flex; justify-content: space-between; align-items: center; margin: 12px 0; padding: 16px; border-radius: 9px; background: #f5f4ff; color: #5c55a3; }
.mfg-type-stats b { font-size: 22px; }

.mfg-entry-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 18px; margin-bottom: 18px; }
.mfg-entry-card { position: relative; display: grid; grid-template-columns: 70px minmax(0,1fr) auto; gap: 18px; align-items: center; min-height: 220px; padding: 26px; overflow: hidden; border: 1px solid #e5e8f2; border-radius: 16px; background: #fff; box-sizing: border-box; box-shadow: 0 6px 22px rgba(37,44,79,.05); cursor: pointer; transition: transform .2s, border-color .2s, box-shadow .2s; }
.mfg-entry-card:hover, .mfg-entry-card:focus-visible { transform: translateY(-2px); border-color: #c9c4f3; outline: none; box-shadow: 0 12px 30px rgba(37,44,79,.10); }
.mfg-entry-card.physical:hover, .mfg-entry-card.physical:focus-visible { border-color: #a9ddca; }
.mfg-entry-card::after { content: ""; position: absolute; right: -55px; top: -65px; width: 190px; height: 190px; border-radius: 50%; opacity: .08; }
.mfg-entry-card.digital::after { background: #6654dc; }
.mfg-entry-card.physical::after { background: #23a578; }
.mfg-entry-icon { display: grid; place-items: center; width: 64px; height: 64px; border-radius: 18px; background: #f0edff; color: #6654dc; font-size: 31px; }
.mfg-entry-card.physical .mfg-entry-icon { background: #e8f8f1; color: #23976f; }
.mfg-entry-copy span { color: #8b91a5; font-size: 12px; }
.mfg-entry-copy h3 { margin: 6px 0 8px; color: #252a3e; font-size: 20px; }
.mfg-entry-copy p { max-width: 460px; margin: 0 0 14px; color: #7f879a; font-size: 12px; line-height: 1.7; }
.mfg-entry-copy div { display: flex; gap: 10px; }
.mfg-entry-copy b { padding: 5px 9px; border-radius: 6px; background: #f5f6fa; color: #666e82; font-size: 10px; font-weight: 500; }
.mfg-entry-card > small { position: absolute; right: 28px; bottom: 23px; color: #9aa0b1; font-size: 10px; }
.mfg-unified-flow .mfg-panel-title span { color: #9399a9; font-size: 11px; }
.mfg-unified-flow > div:last-child { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.mfg-unified-flow > div:last-child span { flex: 1; padding: 10px; border-radius: 8px; background: #f5f5fa; color: #60677b; font-size: 11px; text-align: center; }
.mfg-unified-flow i { color: #aaaebe; font-style: normal; }
.mfg-home-statistics { margin-top: 24px; }
.mfg-home-section-title { display: flex; align-items: center; justify-content: space-between; margin-bottom: 13px; }
.mfg-home-section-title strong { display: block; color: #252a3e; font-size: 19px; }
.mfg-home-section-title span { display: block; margin-top: 4px; color: #9298aa; font-size: 11px; }
.mfg-subtabs { margin-bottom: 12px; padding: 0 14px; border: 1px solid #e8eaf1; border-radius: 11px; background: #fff; }
.mfg-reserved-page { display: grid; place-items: center; min-height: 500px; padding: 42px; border: 1px dashed #d8dbea; border-radius: 16px; background: #fff; text-align: center; box-sizing: border-box; }
.mfg-reserved-icon { display: grid; place-items: center; width: 74px; height: 74px; border-radius: 22px; background: #f1efff; color: #7362ec; font-size: 34px; }
.mfg-reserved-page h3 { margin: 15px 0 3px; }
.mfg-reserved-page p { margin: 0; color: #9096a8; }
.mfg-reserved-page > div:nth-of-type(2) { display: flex; align-items: center; gap: 9px; margin: 25px 0; }
.mfg-reserved-page > div:nth-of-type(2) span { padding: 9px 12px; border-radius: 8px; background: #f5f6fa; color: #687086; font-size: 11px; }
.mfg-reserved-page > div:nth-of-type(2) i { color: #a3a8b8; font-style: normal; }
.mfg-reserved-page .el-alert { max-width: 610px; }

.mfg-sku-layout { display: grid; grid-template-columns: 390px minmax(0,1fr); gap: 22px; }
.mfg-sku-form { padding: 16px; border: 1px solid #e7e9f0; border-radius: 11px; background: #fafbfc; }
.mfg-sku-form h3 { margin: 0 0 16px; font-size: 15px; }
.mfg-sku-actions { display: flex; justify-content: flex-end; gap: 8px; }
.mfg-sku-list { min-width: 0; }
.mfg-sku-list .mfg-panel-title span { color: #969cad; font-size: 10px; }
.mfg-physical-dialog { max-height: 92vh; }
.mfg-physical-dialog .el-dialog__body { max-height: calc(92vh - 110px); overflow-y: auto; }
.mfg-physical-info { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 14px; }
.mfg-physical-info dl { display: grid; grid-template-columns: 82px 1fr; gap: 0; margin: 0; }
.mfg-physical-info dt, .mfg-physical-info dd { margin: 0; padding: 8px 0; border-bottom: 1px solid #f0f1f5; font-size: 12px; }
.mfg-physical-info dt { color: #9298aa; }
.mfg-physical-info dd { color: #353a4d; }
.mfg-physical-file { display: grid; grid-template-columns: 150px minmax(0,1fr) auto; gap: 18px; align-items: center; margin: 15px 0; padding: 16px; border: 1px solid #e4e6ef; border-radius: 12px; background: #fff; }
.mfg-production-preview { display: grid; place-items: center; width: 150px; height: 105px; overflow: hidden; border-radius: 9px; background: #252941; }
.mfg-production-preview img { width: 100%; height: 100%; object-fit: cover; }
.mfg-production-preview > div { display: flex; flex-direction: column; gap: 5px; align-items: center; color: #fff; }
.mfg-production-preview small { color: #969dbb; font-size: 9px; }
.mfg-production-meta strong, .mfg-production-meta span, .mfg-production-meta small { display: block; }
.mfg-production-meta strong { color: #2b3044; font-size: 15px; }
.mfg-production-meta span { margin: 7px 0; color: #697084; font-size: 12px; }
.mfg-production-meta small { color: #9aa0b1; font-size: 10px; }
.mfg-physical-actions { display: flex; gap: 8px; margin: 12px 0; }
.mfg-physical-actions .el-input { flex: 1; }
.mfg-physical-mode-tip { margin-bottom: 14px; }

.mfg-form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 0 18px; }
.mfg-size-input { display: flex; align-items: center; gap: 6px; }
.mfg-file-input { width: 100%; padding: 7px; border: 1px solid #dcdfe6; border-radius: 4px; box-sizing: border-box; }
.mfg-form-grid small { display: block; color: #a0a5b3; font-size: 10px; }
.mfg-field-head { display: flex; align-items: center; gap: 12px; margin: 8px 0; }
.mfg-field-head span { flex: 1; color: #9298aa; font-size: 11px; }
.mfg-field-table { max-height: 330px; overflow: auto; border: 1px solid #e5e7ee; border-radius: 8px; }
.mfg-field-row { display: grid; grid-template-columns: 1.05fr 1fr 1fr 95px 42px 66px 66px 66px 80px 1.4fr 50px; gap: 5px; align-items: center; min-width: 980px; padding: 6px 8px; border-bottom: 1px solid #f0f1f5; }
.mfg-field-row:last-child { border-bottom: 0; }
.mfg-field-labels { position: sticky; top: 0; z-index: 2; background: #f6f7fa; color: #777e91; font-size: 10px; }
.mfg-field-row .el-input-number { width: 100%; }

.mfg-font-status { color: #b07719 !important; }
.mfg-font-status.ready { color: #2f9162 !important; }
.mfg-work-dialog { display: flex; flex-direction: column; max-height: 94vh; }
.mfg-work-dialog .el-dialog__header { flex: 0 0 auto; }
.mfg-work-dialog .el-dialog__body { flex: 1 1 auto; min-height: 0; overflow: hidden; padding-top: 8px; }
.mfg-work-head { display: flex; justify-content: space-between; align-items: center; padding-right: 36px; }
.mfg-work-head strong { display: block; font-size: 17px; }
.mfg-work-head span { display: block; margin-top: 4px; color: #888fa2; font-size: 11px; }
.mfg-workspace { display: grid; grid-template-columns: 360px minmax(0,1fr); gap: 20px; height: calc(94vh - 105px); min-height: 0; overflow: hidden; }
.mfg-work-form { min-height: 0; overflow-y: auto; overscroll-behavior: contain; padding-right: 12px; }
.mfg-work-form h3 { margin: 3px 0 16px; font-size: 15px; }
.mfg-custom-field { margin-bottom: 13px; }
.mfg-custom-field > label { display: block; margin-bottom: 6px; color: #5d6375; font-size: 12px; }
.mfg-custom-field > label b { color: #303547; }
.mfg-custom-field > label i { color: #e45865; font-style: normal; }
.mfg-custom-field > small { display: block; margin-top: 5px; color: #999faf; font-size: 10px; }
.mfg-photo-upload { position: relative; width: 100%; height: 146px; overflow: hidden; border: 1px dashed #cfd3df; border-radius: 9px; background: #f8f9fb; }
.mfg-photo-upload img { width: 100%; height: 100%; object-fit: contain; transform-origin: center; transition: transform .12s ease-out; }
.mfg-photo-upload > div { display: grid; place-items: center; align-content: center; width: 100%; height: 100%; color: #8b91a3; font-size: 26px; }
.mfg-photo-upload small { display: block; font-size: 11px; }
.mfg-photo-upload input { position: absolute; inset: 0; width: 100%; opacity: 0; cursor: pointer; }
.mfg-photo-controls { margin-top: 8px; padding: 8px 11px 2px; border-radius: 8px; background: #f6f7fa; }
.mfg-photo-controls label { display: flex; justify-content: space-between; margin: 2px 0 -3px; color: #777e91; font-size: 10px; }
.mfg-photo-controls label b { color: #4e5569; font-weight: 500; }
.mfg-photo-controls .el-slider { --el-slider-main-bg-color: #6f5ee7; --el-slider-runway-bg-color: #dfe1ea; height: 25px; }
.mfg-generate-box { display: grid; grid-template-columns: 1fr auto auto; gap: 8px; align-items: center; margin-top: 16px; padding: 13px; border-radius: 9px; background: #f1efff; }
.mfg-generate-box strong, .mfg-generate-box small { display: block; }
.mfg-generate-box small { margin-top: 3px; color: #8d8aa7; font-size: 9px; }
.mfg-preview-pane { min-width: 0; overflow-y: auto; padding-right: 4px; }
.mfg-preview-top { display: flex; justify-content: space-between; margin: 3px 0 10px; }
.mfg-preview-top span { color: #8d93a4; font-size: 11px; }
.mfg-result-stage { display: grid; place-items: center; min-height: 390px; max-height: 510px; overflow: hidden; border-radius: 11px; background: #1b1e31; }
.mfg-result-stage img, .mfg-result-stage video { display: block; max-width: 100%; max-height: 510px; object-fit: contain; }
.mfg-no-result, .mfg-rendering { display: flex; flex-direction: column; align-items: center; gap: 7px; color: #c5cadb; }
.mfg-no-result small, .mfg-rendering small { color: #747b99; font-size: 10px; }
.mfg-rendering > span { width: 35px; height: 35px; border: 3px solid #454b69; border-top-color: #8a78ff; border-radius: 50%; animation: mfg-spin 1s linear infinite; }
@keyframes mfg-spin { to { transform: rotate(360deg); } }
.mfg-task-line { display: flex; align-items: center; gap: 9px; min-height: 38px; color: #777e90; font-size: 11px; }
.mfg-task-line .danger { flex: 1; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.mfg-result-actions { display: flex; align-items: center; gap: 12px; padding: 10px 0; color: #8e94a5; font-size: 10px; }
.mfg-review-box { display: grid; grid-template-columns: auto 1fr auto auto; gap: 8px; align-items: center; margin: 8px 0; padding: 10px; border: 1px solid #e0dcff; border-radius: 8px; background: #f7f6ff; }
.mfg-history { margin-top: 10px; }
.mfg-history-row { display: grid; grid-template-columns: 1fr 1fr auto; align-items: center; padding: 7px 0; border-bottom: 1px solid #f0f1f5; color: #6f7588; font-size: 11px; }
.mfg-log-row { display: grid; grid-template-columns: 90px 1fr 180px; gap: 8px; padding: 7px 0; border-bottom: 1px solid #f0f1f5; font-size: 11px; }
.mfg-log-row p { margin: 0; color: #656b7d; }
.mfg-log-row small { color: #999faf; text-align: right; }

@media (max-width: 1100px) {
  .arsenal-page .order-filter-toolbar { flex-wrap: wrap; }
  .arsenal-page .order-filter-actions { margin-left: 0; }
  .arsenal-page .visual-dashboard-merged-heading { align-items: flex-start; flex-direction: column; }
  .arsenal-page .visual-dashboard-heading-actions { width: 100%; justify-content: space-between; }
  .mfg-template-grid { grid-template-columns: repeat(2,minmax(240px,1fr)); }
  .mfg-metrics { grid-template-columns: repeat(2,1fr); }
  .mfg-overview-grid { grid-template-columns: 1fr; }
  .mfg-flow > div { flex-wrap: wrap; justify-content: flex-start; }
  .mfg-entry-grid { grid-template-columns: 1fr; }
  .mfg-sku-layout { grid-template-columns: 1fr; }
}
@media (max-width: 720px) {
  .visual-dashboard { padding: 14px; }
}
@media (max-width: 760px) {
  .mfg-center-tabs { overflow-x: auto; }
  .mfg-center-tabs > strong { display: none; }
  .mfg-center-back, .mfg-center-tab { flex: 0 0 auto; }
  .mfg-main { padding: 18px 12px 30px; }
  .mfg-template-grid, .mfg-metrics { grid-template-columns: 1fr; }
  .mfg-work-dialog { max-height: 94vh; }
  .mfg-work-dialog .el-dialog__body { overflow-y: auto; }
  .mfg-workspace { grid-template-columns: 1fr; height: auto; max-height: none; overflow: visible; }
  .mfg-work-form, .mfg-preview-pane { overflow: visible; }
  .mfg-entry-card { grid-template-columns: 52px minmax(0,1fr); padding: 20px; }
  .mfg-entry-icon { width: 50px; height: 50px; }
  .mfg-entry-card > .el-button { grid-column: 1 / -1; }
  .mfg-unified-flow > div:last-child, .mfg-reserved-page > div:nth-of-type(2) { flex-wrap: wrap; justify-content: center; }
  .mfg-physical-info { grid-template-columns: 1fr; }
  .mfg-physical-file { grid-template-columns: 1fr; }
  .mfg-physical-actions { flex-wrap: wrap; }
}
.main { padding: 16px; overflow: auto; }
.page-card { background: #fff; border-radius: 10px; padding: 16px 18px; }
.filter-bar { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 14px; align-items: center; }
.filter-bar .el-input, .filter-bar .el-select { width: 180px; }
.upload-shortcut-btn { margin-left: auto; background: linear-gradient(135deg, #f56c6c 0%, #ff9d7a 100%) !important; border-color: #f56c6c !important; color: #fff !important; font-weight: 600; }
.upload-shortcut-btn:hover { background: linear-gradient(135deg, #f78989 0%, #ffb59a 100%) !important; border-color: #f78989 !important; }
.filter-bar .el-input-number { width: 130px; }
.login-wrap { height: 100vh; display: flex; align-items: center; justify-content: center; background: linear-gradient(135deg, #e6f1fb 0%, #f5f6f8 100%); }
.login-card { width: 380px; background: #fff; border-radius: 14px; padding: 36px 36px 28px; box-shadow: 0 8px 30px rgba(24, 95, 165, .08); }
.login-title { display: flex; align-items: center; justify-content: center; gap: 10px; font-size: 22px; font-weight: 600; text-align: center; margin-bottom: 4px; color: #185fa5; }
.login-logo { width: 48px; height: 48px; border-radius: 8px; object-fit: cover; }
.login-sub { text-align: center; color: #999; font-size: 13px; margin-bottom: 26px; }
.internal-login-wrap .login-card { padding: 36px; }
.internal-login-wrap .login-title { gap: 12px; margin-bottom: 10px; }
.internal-login-wrap .login-logo { width: 64px; height: 64px; border-radius: 50%; }
.internal-login-wrap .login-sub { color: #b18455; letter-spacing: .4px; }
.distributor-login-wrap .login-title { gap: 12px; margin-bottom: 8px; }
.distributor-login-wrap .login-logo { width: 64px; height: 64px; border-radius: 50%; object-fit: cover; }
.distributor-login-wrap .supply-login-title { color: #70420f; }
.distributor-login-wrap .login-sub { color: #9a7652; margin-bottom: 7px; }
.supply-login-slogan { text-align: center; color: #b18455; font-size: 12px; margin-bottom: 26px; letter-spacing: .4px; }
.home-wrap { min-height: 100vh; background: #f5f6f8; }
.module-grid { display: flex; gap: 22px; flex-wrap: wrap; padding: 35px; }
.module-card { width: 375px; background-color: #fff; border-radius: 15px; padding: 28px; cursor: pointer; border: 1px solid #ececec; transition: all .15s; }
.module-card:hover { border-color: #185fa5; box-shadow: 0 6px 18px rgba(24,95,165,.1); transform: translateY(-2px); }
.module-card.disabled { cursor: not-allowed; opacity: .55; }
.module-card.disabled:hover { border-color: #ececec; box-shadow: none; transform: none; }
.module-name { font-size: 21px; font-weight: 600; margin-bottom: 6px; }
.module-desc { color: #888; font-size: 13px; line-height: 1.7; }
.step-bar { margin-bottom: 22px; }
.dup-banner { margin: 10px 0; }
.mono { font-family: Consolas, "Courier New", monospace; font-size: 12px; }
.raw-kv { width: 100%; border-collapse: collapse; }
.raw-kv td { border: 1px solid #eee; padding: 5px 10px; font-size: 13px; }
.raw-kv td:first-child { background: #fafafa; width: 180px; color: #666; }
.tip-bar { background: #fdf6ec; color: #b88230; border-radius: 6px; padding: 8px 14px; font-size: 13px; margin-bottom: 12px; }
.root-card { background: #fff; border: 1px solid #e8e8e8; border-radius: 6px; padding: 8px 10px; transition: all .15s; cursor: pointer; }
.root-card:hover { border-color: #e6a23c; box-shadow: 0 2px 8px rgba(230,162,60,.15); }
.root-card-active { background: #fdf6ec; border-color: #e6a23c; box-shadow: 0 2px 8px rgba(230,162,60,.25); }
.root-name { font-size: 14px; color: #333; font-weight: 500; margin-bottom: 4px; }
.root-val { display: flex; align-items: baseline; justify-content: space-between; }
.root-search { font-size: 13px; color: #e6a23c; font-weight: 600; }
.root-count { font-size: 11px; color: #999; }
.root-op .el-button { margin-left: 4px; }
.root-grid-scroll { display: grid; grid-template-columns: repeat(8, 1fr); gap: 8px; max-height: 210px; overflow-y: auto; padding: 4px 4px 0; }
.root-grid-scroll::-webkit-scrollbar { width: 8px; }
.root-grid-scroll::-webkit-scrollbar-thumb { background: #d4d4d4; border-radius: 4px; }
.root-grid-scroll::-webkit-scrollbar-thumb:hover { background: #b4b4b4; }
.section-title { font-size: 15px; font-weight: 600; margin: 0 0 14px; }
.module-slogan { font-size: 13px; color: #909399; margin: 2px 0 14px; line-height: 1.5; }
.mt12 { margin-top: 12px; } .mb12 { margin-bottom: 12px; }

/* 节日状态下拉框：选中文字跟随状态色（待策划/策划中/运营中/不策划） */
.fes-status-select .el-select__wrapper .el-select__selected-item,
.fes-status-select .el-select__wrapper .el-select__placeholder,
.fes-status-select .el-select__wrapper input {
  color: var(--sel-color, #303133) !important;
  font-weight: 600 !important;
}
.fes-status-select .el-select__wrapper .el-select__suffix .el-icon {
  color: var(--sel-color, #909399) !important;
}

/* 战役日历：状态行背景由状态色区分（不再为特定状态加底色） */
.festivals-table .el-table__row:hover { background-color: #f5f7fa !important; }

/* 战役日历列表页文字统一调大，同时压缩单元格留白 */
.festivals-table { font-size: 14px; }
.festivals-table .cell { padding: 4px 8px; line-height: 1.4; }
.festivals-table th.el-table__cell { padding: 4px 0; }
.festivals-table th.el-table__cell .cell { padding: 4px 8px; line-height: 1.3; }
.festivals-table .el-button { font-size: 14px; }
.festival-month-day-row { display:flex; align-items:center; gap:10px; width:100%; }
.festival-month-day-row .el-select { flex:1; min-width:0; }
.festival-month-day-row .el-checkbox { flex:0 0 auto; margin-right:0; }
.festival-date-legacy-hint { margin-top:6px; color:#909399; font-size:12px; line-height:1.5; }
@media (max-width: 390px) {
  .festival-edit-dialog { width:calc(100vw - 20px) !important; margin-top:10px !important; }
  .festival-edit-dialog .el-dialog__body { padding:12px 14px; }
  .festival-edit-dialog .el-form-item { display:block; }
  .festival-edit-dialog .el-form-item__label { width:auto !important; }
  .festival-edit-dialog .el-form-item__content { margin-left:0 !important; }
  .festival-month-day-row { align-items:stretch; flex-wrap:wrap; }
  .festival-month-day-row .el-select { flex:1 1 calc(50% - 5px); }
  .festival-month-day-row .el-checkbox { flex:1 0 100%; }
}

/* 阵地战场：列表文字大小与闪电战场一致 */
.crowd-tracks-table { font-size: 14px; }
.crowd-tracks-table .cell { padding: 4px 8px; line-height: 1.4; }
.crowd-tracks-table th.el-table__cell { padding: 4px 0; }
.crowd-tracks-table th.el-table__cell .cell { padding: 4px 8px; line-height: 1.3; }
.crowd-tracks-table .el-button { font-size: 14px; }

/* ===== 竞店哨站 ===== */
.cm-page { background: #F6F7F9; padding: 16px 20px 24px; min-height: 100%; box-sizing: border-box; }
.cm-head { display: flex; justify-content: space-between; align-items: flex-start; gap: 12px; flex-wrap: wrap; margin-bottom: 10px; }
.cm-title { font-size: 20px; font-weight: 700; margin: 0 0 4px; color: #1f2329; }
.cm-sub { font-size: 12px; color: #8a9099; }
.cm-head-actions { display: flex; gap: 10px; align-items: center; flex-wrap: wrap; }
.arsenal-page .arsenal-top-navigation {
  display: flex; align-items: center; justify-content: space-between; gap: 12px;
  flex-wrap: wrap; margin-bottom: 18px; border-bottom: 1px solid #e8dccf;
}
.arsenal-compact-layout .topbar-module-content .arsenal-top-navigation {
  display: flex; align-items: center; justify-content: space-between;
  box-sizing: border-box; width: 100%; height: 100%; margin: 0; border-bottom: 0; flex-wrap: nowrap; gap: 8px;
}
.arsenal-page .arsenal-module-tabs {
  display: flex; align-items: center; align-self: stretch; gap: 6px; min-width: 0;
  flex: 1 1 620px;
}
.arsenal-compact-layout .arsenal-module-tabs {
  display: flex; flex: 1 1 auto; min-width: 240px; height: 100%; align-items: stretch; gap: 0; overflow: hidden;
}
.arsenal-compact-layout .arsenal-module-tab {
  position: relative; display: inline-flex; flex: 0 0 auto; align-items: center; justify-content: center;
  height: 100%; padding: 0 10px; border: 0; border-radius: 0; background: transparent; color: #4f4943;
  font-family: inherit; font-size: 14px; font-weight: 700; line-height: 1; cursor: pointer; white-space: nowrap;
}
.arsenal-compact-layout .arsenal-module-tab:first-child { padding-left: 10px; }
.arsenal-compact-layout .arsenal-module-tab:hover,
.arsenal-compact-layout .arsenal-module-tab.active { color: #8f5a1f; }
.arsenal-compact-layout .arsenal-module-tab.active::after {
  content: ''; position: absolute; right: 10px; bottom: 0; left: 10px; height: 3px;
  border-radius: 3px 3px 0 0; background: #8f5a1f;
}
.arsenal-compact-layout .arsenal-module-tab:first-child.active::after { left: 10px; }
.arsenal-page .arsenal-module-tab {
  position: relative; flex: 0 0 auto; border: 0; border-radius: 0; background: transparent;
  padding: 0 12px 11px; color: #4f4943; font-size: 15px; font-weight: 700; line-height: 26px;
  cursor: pointer; white-space: nowrap;
}
.arsenal-page .arsenal-module-tab:first-child { padding-left: 0; }
.arsenal-page .arsenal-module-tab:hover { color: #8f5a1f; }
.arsenal-page .arsenal-module-tab.active { color: #8f5a1f; }
.arsenal-page .arsenal-module-tab.active::after {
  content: ''; position: absolute; right: 12px; bottom: -1px; left: 12px; height: 3px;
  border-radius: 3px 3px 0 0; background: #8f5a1f;
}
.arsenal-page .arsenal-module-tab:first-child.active::after { left: 0; }
.arsenal-page .arsenal-top-navigation .cm-head-actions {
  flex: 0 0 auto; justify-content: flex-end; margin-left: auto;
}
.arsenal-compact-layout .arsenal-top-navigation .cm-head-actions { flex-wrap: nowrap; gap: 6px; margin-left: 0; }
.arsenal-page > .arsenal-content-tabs > .el-tabs__header { display: none; }
@media (max-width: 1120px) {
  .arsenal-page .arsenal-module-tabs { flex-basis: 100%; order: 1; }
  .arsenal-page .arsenal-top-navigation .cm-head-actions { order: 2; }
}
@media (max-width: 720px) {
  .arsenal-page .arsenal-module-tabs { gap: 0; overflow-x: auto; }
  .arsenal-page .arsenal-module-tab { padding-right: 9px; padding-left: 9px; font-size: 14px; }
  .arsenal-page .arsenal-top-navigation .cm-head-actions { width: 100%; justify-content: flex-end; }
}
.arsenal-page .design-production-tool-links { display: flex; align-items: center; gap: 6px; flex-wrap: wrap; }
.design-production-tool-menu { display: none; }
.arsenal-compact-layout .design-production-tool-links { display: flex; align-items: center; gap: 5px; flex-wrap: nowrap; }
.arsenal-compact-layout .design-production-tool-link {
  display: inline-flex; box-sizing: border-box; align-items: center; justify-content: center; min-width: 44px; height: 28px;
  padding: 0 8px; border: 1px solid #d9c3ad; border-radius: 6px; background: #fffaf5; color: #855623;
  font-size: 12px; font-weight: 600; line-height: 26px; text-decoration: none; white-space: nowrap;
}
.arsenal-compact-layout .design-production-tool-link:hover,
.arsenal-compact-layout .design-production-tool-link:focus { border-color: #9b6b3c; background: #f7ede2; color: #70471d; }
.arsenal-page .design-production-tool-link {
  display: inline-flex; box-sizing: border-box; align-items: center; justify-content: center; min-width: 48px; height: 30px;
  padding: 0 10px; border: 1px solid #d9c3ad; border-radius: 6px; background: #fffaf5; color: #855623;
  font-size: 12px; font-weight: 600; line-height: 28px; text-decoration: none; white-space: nowrap;
}
.arsenal-page .design-production-tool-link:hover,
.arsenal-page .design-production-tool-link:focus { border-color: #9b6b3c; background: #f7ede2; color: #70471d; }
.arsenal-page .arsenal-top-navigation .cm-head-actions { gap: 8px; }
.arsenal-page .arsenal-top-navigation .cm-head-actions > .el-button,
.arsenal-page .arsenal-top-navigation .cm-head-actions > .factory-settings-entry,
.arsenal-page .arsenal-top-navigation .cm-head-actions > .el-badge > .el-tag {
  box-sizing: border-box; min-width: 48px; height: 30px; padding: 0 10px; border-radius: 6px;
  font-size: 12px; font-weight: 600; line-height: 28px; white-space: nowrap;
}
.arsenal-page .arsenal-top-navigation .cm-head-actions > .factory-settings-entry,
.arsenal-page .arsenal-top-navigation .cm-head-actions > .el-badge > .el-tag {
  display: inline-flex; align-items: center; justify-content: center;
}
.arsenal-page .arsenal-top-navigation .badge-todo .el-badge__content { z-index: 1; }
.arsenal-compact-layout .arsenal-top-navigation .cm-head-actions > .el-button,
.arsenal-compact-layout .arsenal-top-navigation .cm-head-actions > .factory-settings-entry,
.arsenal-compact-layout .arsenal-top-navigation .cm-head-actions > .el-badge > .el-tag,
.arsenal-compact-layout .design-production-tool-menu > .el-button {
  height: 28px; min-height: 28px; padding: 0 9px; line-height: 26px;
}
.arsenal-compact-layout .arsenal-top-navigation .cm-head-actions > .factory-settings-entry,
.arsenal-compact-layout .arsenal-top-navigation .cm-head-actions > .el-badge > .el-tag {
  display: inline-flex; box-sizing: border-box; align-items: center; justify-content: center; min-width: 48px;
  border-radius: 6px; font-size: 12px; font-weight: 600; white-space: nowrap;
}
.arsenal-compact-layout .topbar-user-profile { margin-left: 9px; }
@media (max-width: 1640px) {
  .arsenal-compact-layout .design-production-tool-links { display: none; }
  .arsenal-compact-layout .design-production-tool-menu { display: inline-flex; }
}
@media (max-width: 1180px) {
  .arsenal-compact-layout .topbar-module-name { display: none; }
  .arsenal-compact-layout .arsenal-module-tabs { overflow-x: auto; scrollbar-width: none; }
  .arsenal-compact-layout .arsenal-module-tabs::-webkit-scrollbar { display: none; }
  .arsenal-compact-layout .arsenal-module-tab { padding-right: 8px; padding-left: 8px; font-size: 13px; }
  .arsenal-compact-layout .arsenal-top-navigation .cm-head-actions > .el-button:not(.workbench-create-action) { display: none; }
}
.cm-block { background: #fff; border: 1px solid #ebeef5; border-radius: 12px; padding: 10px 12px; margin-bottom: 10px; }
.cm-block-title { font-size: 14px; font-weight: 600; color: #1f2329; margin-bottom: 6px; }
.cm-tip { font-size: 12px; color: #a0a6ad; font-weight: 400; }
.cm-platforms { display: flex; gap: 8px; flex-wrap: wrap; }
.cm-pf-btn { display: flex; align-items: center; gap: 6px; border: 1px solid #e4e7ed; background: #fff; border-radius: 22px; padding: 5px 12px; cursor: pointer; font-size: 13px; color: #4a4f57; transition: all .15s; }
.cm-pf-btn:hover { border-color: #c0c4cc; }
.cm-pf-btn.active { background: #ecf0ff; border-color: #409eff; color: #409eff; font-weight: 600; }
.cm-pf-icon { font-size: 16px; line-height: 1; }
.cm-pf-name { white-space: nowrap; }
.cm-pf-count { background: #f0f2f5; color: #909399; border-radius: 10px; padding: 0 8px; font-size: 12px; }
.cm-pf-btn.active .cm-pf-count { background: #409eff; color: #fff; }
.cm-tags { display: flex; gap: 6px; flex-wrap: wrap; align-items: center; }
.cm-tag { border: 1px solid #e4e7ed; background: #fff; border-radius: 16px; padding: 3px 10px; cursor: pointer; font-size: 12px; color: #606266; transition: all .15s; }
.cm-tag:hover { border-color: #c0c4cc; }
.cm-tag.active { background: #ecf0ff; border-color: #409eff; color: #409eff; font-weight: 600; }
.cm-tag-count { opacity: .6; margin-left: 2px; font-size: 11px; }
.cm-tag-more { color: #409eff; border-style: dashed; }
.cm-filter-bar { display: flex; align-items: center; gap: 12px; margin-top: 6px; }
.cm-filter-text { font-size: 13px; color: #606266; }
.cm-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: 10px; }
@media (max-width: 560px) { .cm-grid { grid-template-columns: 1fr; } }
.cm-card { background: #fff; border: 1px solid #ebeef5; border-radius: 12px; overflow: hidden; box-shadow: 0 1px 3px rgba(0,0,0,.04); transition: transform .15s, box-shadow .15s; display: flex; flex-direction: column; }
.cm-card:hover { transform: translateY(-2px); box-shadow: 0 4px 12px rgba(0,0,0,.10); }
.cm-card-selected { border-color: #409eff; box-shadow: 0 0 0 1px #409eff; }
.cm-strip { height: 3px; width: 100%; }
.cm-card-body { padding: 10px 12px 12px; display: flex; flex-direction: column; flex: 1; position: relative; }
.cm-card-check { position: absolute; top: 8px; right: 8px; z-index: 2; }
.cm-card-check .el-checkbox__label { padding-left: 0; display: none; }
.cm-card-top { display: flex; align-items: center; gap: 6px; margin-bottom: 5px; }
.cm-pf-label { font-size: 11px; color: #909399; }
.cm-star { margin-left: auto; cursor: pointer; color: #c0c4cc; font-size: 16px; transition: color .15s; }
.cm-star:hover { color: #f7ba2a; }
.cm-star.on { color: #f7ba2a; }
.cm-shop-name { font-size: 14px; font-weight: 600; color: #1f2329; cursor: pointer; line-height: 1.35; word-break: break-all; }
.cm-shop-name:hover { color: #409eff; }
.cm-shop-short { font-size: 11px; color: #a0a6ad; margin-top: 1px; }
.cm-tags-inline { display: flex; gap: 5px; flex-wrap: wrap; margin-top: 6px; }
.cm-mini-tag { display: inline-flex; align-items: center; gap: 3px; border: 1px solid #dcdfe6; color: #606266; border-radius: 12px; padding: 1px 7px; font-size: 11px; cursor: pointer; }
.cm-mini-tag:hover { border-color: #409eff; color: #409eff; }
.cm-more { color: #409eff; border-style: dashed; }
.cm-focus { font-size: 11px; color: #8a9099; margin-top: 5px; line-height: 1.4; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.cm-meta { display: flex; align-items: center; gap: 6px; margin-top: 5px; flex-wrap: wrap; }
.cm-status { font-size: 10px; padding: 0 6px; border-radius: 10px; }
.cm-status-warning { background: #fdf0e6; color: #e6a23c; }
.cm-status-danger { background: #fde2e2; color: #f56c6c; }
.cm-update { font-size: 11px; color: #a0a6ad; cursor: pointer; }
.cm-update:hover { color: #409eff; }
.cm-card-foot { display: flex; justify-content: space-between; align-items: center; margin-top: 8px; }
.cm-empty { text-align: center; padding: 50px 20px; color: #909399; }
.cm-empty-title { font-size: 16px; color: #606266; margin-bottom: 8px; }
.cm-empty-sub { font-size: 13px; margin-bottom: 16px; }
.cm-empty-actions { display: flex; gap: 10px; justify-content: center; }
.cm-empty-mini { color: #a0a6ad; font-size: 13px; padding: 8px 0; }
.cm-loading { padding: 40px; text-align: center; color: #909399; }
.cm-list-head { display: flex; justify-content: space-between; align-items: center; margin-bottom: 10px; }
.cm-hl { background: #fff2a8; color: #d48806; border-radius: 2px; padding: 0 1px; }
.cm-colors { display: flex; gap: 8px; flex-wrap: wrap; }
.cm-color { width: 22px; height: 22px; border-radius: 50%; cursor: pointer; border: 2px solid #fff; box-shadow: 0 0 0 1px #dcdfe6; }
.cm-color.on { box-shadow: 0 0 0 2px #409eff; }
.cm-mini-act { color: #409eff; margin-left: 4px; cursor: pointer; font-size: 12px; }

/* 战役日历页：闪电战运营/复盘入口（与新增节日按钮统一尺寸） */
.fes-review-entry { background: linear-gradient(135deg, #7b68ee 0%, #a855f7 100%) !important; border-color: #7b68ee !important; color: #fff !important; }
.fes-review-entry:hover { background: linear-gradient(135deg, #8b7cf6 0%, #b46cf9 100%) !important; }

/* AI 模块：分析模式选择 */
.ai-modes { display: flex; gap: 12px; margin-bottom: 14px; }
.ai-mode-card { flex: 1; border: 2px solid #ebeef5; border-radius: 10px; padding: 14px 16px; cursor: pointer; transition: all .15s; background: #fff; display: flex; flex-direction: column; gap: 4px; }
.ai-mode-card:hover { border-color: #c0c4cc; box-shadow: 0 2px 8px rgba(0,0,0,.06); }
.ai-mode-card.active { border-color: #409eff; background: #ecf5ff; }
.ai-mode-icon { font-size: 20px; }
.ai-mode-label { font-size: 15px; font-weight: 600; color: #303133; }
.ai-mode-desc { font-size: 12px; color: #909399; }
.ai-mode-card.active .ai-mode-label { color: #409eff; }

/* AI 模块：统计面板 */
.ai-stats-panel { background: #f8f9fb; border: 1px solid #ebeef5; border-radius: 8px; padding: 14px; margin-bottom: 14px; }
.ai-stats-overview { display: flex; gap: 16px; flex-wrap: wrap; }
.ai-stat-item { display: flex; flex-direction: column; align-items: center; min-width: 80px; }
.ai-stat-num { font-size: 22px; font-weight: 700; color: #303133; }
.ai-stat-label { font-size: 12px; color: #909399; margin-top: 2px; }


/* 竞店新品采集 */
.coll-page { padding: 4px 0; }
.coll-warn { background: #fdf6ec; border: 1px solid #faecd8; color: #e6a23c; padding: 8px 12px; border-radius: 6px; font-size: 13px; margin: 12px 0; }
.coll-summary { display: flex; flex-wrap: wrap; gap: 12px; margin: 12px 0; }
.cs-card { background: #fff; border: 1px solid #ebeef5; border-radius: 8px; padding: 12px 18px; min-width: 110px; text-align: center; }
.cs-card.hl { background: #fff8e6; border-color: #f5d98b; }
.cs-num { font-size: 22px; font-weight: 700; color: #303133; }
.cs-card.hl .cs-num { color: #e6a23c; }
.cs-label { font-size: 12px; color: #909399; margin-top: 4px; }
.coll-task-meta { font-size: 13px; color: #606266; margin-bottom: 12px; }
.coll-shop-tools { display: flex; align-items: center; gap: 8px; margin-bottom: 8px; }
.coll-filter-bar { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-bottom: 10px; }
.coll-thumb { width: 56px; height: 56px; object-fit: cover; border-radius: 4px; cursor: zoom-in; background: #f5f5f5; }
.coll-remark { color: #409eff; cursor: pointer; }
.coll-remark:hover { text-decoration: underline; }

/* 战况报告 */
.wr-card { margin-bottom: 4px; }
.wr-card-head { display: flex; align-items: center; justify-content: space-between; }
.wr-card-title { font-weight: 600; font-size: 15px; }
.wr-metrics { display: flex; flex-wrap: wrap; gap: 6px 10px; padding: 8px 2px 4px; }
.wr-m { flex: 1 1 30%; min-width: 96px; background: #f8f9fb; border-radius: 6px; padding: 10px 8px; text-align: center; }
.wr-m-v { display: block; font-size: 20px; font-weight: 700; color: #303133; line-height: 1.2; }
.wr-m-l { display: block; font-size: 12px; color: #909399; margin-top: 4px; }
.wr-foot { display: flex; flex-wrap: wrap; gap: 16px; margin-top: 10px; font-size: 13px; color: #606266; }
.wr-foot b { color: #303133; }
.wr-form-scroll { max-height: 64vh; overflow-y: auto; padding-right: 8px; }
.wr-quick-wrap { display: flex; gap: 10px; flex-shrink: 0; }
.wr-quick-box { width: 80px; height: 80px; border-radius: 8px; display: flex; flex-direction: column; justify-content: center; align-items: center; text-align: center; cursor: pointer; color: #fff; box-shadow: 0 2px 8px rgba(0,0,0,0.12); transition: transform .15s, box-shadow .15s; }
.wr-quick-box:hover { transform: translateY(-2px); box-shadow: 0 4px 12px rgba(0,0,0,0.18); }
.wr-quick-lightning { background: linear-gradient(135deg, #f6b93b, #fa8231); }
.wr-quick-position { background: linear-gradient(135deg, #4facfe, #00c6fb); }
.wr-quick-title { font-size: 22px; font-weight: 700; line-height: 1.25; }
.wr-mini { background: #f7f9fc; border: 1px solid #ebeef5; border-radius: 8px; padding: 12px 10px; text-align: center; margin-bottom: 12px; }
.wr-mini-v { font-size: 20px; font-weight: 700; color: #303133; }
.wr-mini-l { font-size: 12px; color: #909399; margin-top: 4px; }
.wr-trend-title { font-size: 13px; color: #606266; font-weight: 600; margin-bottom: 4px; }

/* ==================== 情报雷达 ==================== */
.dr-review-summary { display:flex; flex-wrap:wrap; gap:8px 16px; padding:12px 14px; margin-bottom:16px; background:#f5f8ff; border:1px solid #dce7ff; border-radius:6px; color:#596780; font-size:13px; }
.dr-review-summary b { width:100%; color:#263852; font-size:14px; }
.dr-page-head { display:flex; align-items:flex-start; justify-content:space-between; gap:16px; margin-bottom:8px; }
.dr-head-actions { display:flex; gap:8px; }
.dr-main-tabs > .el-tabs__header { margin-bottom:16px; }
.dr-metric-grid { display:grid; grid-template-columns:repeat(6,minmax(120px,1fr)); gap:12px; margin-bottom:16px; }
.dr-metric { position:relative; overflow:hidden; min-height:108px; padding:17px 18px; border:1px solid #e9edf5; border-top:3px solid currentColor; border-radius:12px; background:#fff; cursor:pointer; box-sizing:border-box; transition:transform .16s,box-shadow .16s; }
.dr-metric:hover { transform:translateY(-2px); box-shadow:0 8px 22px rgba(43,55,80,.08); }
.dr-metric::after { content:""; position:absolute; width:68px; height:68px; right:-22px; top:-22px; border-radius:50%; background:currentColor; opacity:.09; }
.dr-metric span { display:block; color:#737b8c; font-size:12px; }
.dr-metric strong { display:inline-block; margin-top:10px; color:#293142; font-size:30px; line-height:1; }
.dr-metric small { margin-left:4px; color:#98a0af; }
.dr-metric.blue { color:#409eff; } .dr-metric.amber { color:#e6a23c; } .dr-metric.purple { color:#7b61e8; }
.dr-metric.cyan { color:#24a8b5; } .dr-metric.green { color:#67c23a; } .dr-metric.coral { color:#f07d71; }
.dr-panel { padding:18px 20px; border:1px solid #ebeef5; border-radius:12px; background:#fff; }
.dr-panel-head { display:flex; align-items:center; justify-content:space-between; margin-bottom:16px; }
.dr-panel-head b { display:block; color:#303849; font-size:15px; }
.dr-panel-head small { display:block; margin-top:3px; color:#9aa1ad; }
.dr-chart { display:flex; align-items:flex-end; gap:10px; height:205px; overflow-x:auto; padding:4px 4px 0; }
.dr-bar-item { display:flex; flex:1 0 42px; min-width:42px; max-width:74px; height:100%; flex-direction:column; justify-content:flex-end; align-items:center; }
.dr-bar-value { color:#677084; font-size:11px; }
.dr-bar-track { display:flex; align-items:flex-end; justify-content:center; width:100%; height:154px; margin:3px 0 7px; border-bottom:1px solid #e8ebf2; }
.dr-bar-track i { display:block; width:62%; min-height:6px; border-radius:6px 6px 2px 2px; background:linear-gradient(180deg,#6eaefa,#409eff); }
.dr-bar-label { max-width:74px; color:#9299a7; font-size:10px; white-space:nowrap; }
.dr-flow { display:flex; align-items:center; gap:7px; overflow-x:auto; margin-top:14px; padding:13px 16px; border-radius:10px; background:#f7f9fc; white-space:nowrap; }
.dr-flow span { color:#657087; font-size:12px; } .dr-flow span i { display:inline-grid; place-items:center; width:20px; height:20px; margin-right:5px; border-radius:50%; background:#e8f2ff; color:#409eff; font-style:normal; }
.dr-flow span b { margin-left:7px; color:#c1c7d1; font-weight:400; }
.dr-stars { color:#f3a735; letter-spacing:1px; }
.dr-image-list,.dr-detail-images { display:flex; flex-wrap:wrap; gap:10px; margin-top:10px; }
.dr-image-list > div { position:relative; } .dr-image-list .el-image,.dr-detail-images .el-image { width:72px; height:72px; border:1px solid #e5e8ef; border-radius:7px; }
.dr-image-list button { position:absolute; right:-6px; top:-6px; width:20px; height:20px; padding:0; border:0; border-radius:50%; background:#f56c6c; color:#fff; cursor:pointer; }
.dr-form-tip { margin-top:7px; color:#a0a7b3; font-size:12px; }
.dr-detail-title { display:flex; align-items:center; justify-content:space-between; margin-bottom:14px; }
.dr-detail-title b { display:block; color:#303849; font-size:17px; } .dr-detail-title span { display:block; margin-top:4px; color:#9299a7; font-size:12px; }
.dr-linked-card { display:flex; align-items:center; justify-content:space-between; margin-top:14px; padding:13px 15px; border:1px solid #dce9fb; border-radius:9px; background:#f5f9ff; }
.dr-linked-card b,.dr-linked-card span { display:block; } .dr-linked-card span { margin-top:4px; color:#7f8898; font-size:12px; }
.dr-visual-card { display:grid; grid-template-columns:minmax(220px,1.5fr) repeat(3,minmax(110px,.7fr)); gap:14px; align-items:center; margin-top:10px; padding:13px 15px; border:1px solid #e6e0f7; border-radius:9px; background:#faf8ff; }
.dr-visual-card b,.dr-visual-card span,.dr-visual-card small,.dr-visual-card strong { display:block; } .dr-visual-card span,.dr-visual-card small { margin-top:4px; color:#8c849e; font-size:11px; } .dr-visual-card strong { margin-top:4px; color:#4a4259; font-size:12px; }
.dr-subtitle { margin:18px 0 12px; color:#3c4455; }
.dr-log-meta { margin-top:4px; color:#8d95a3; font-size:12px; }
@media (max-width:1280px) { .dr-metric-grid { grid-template-columns:repeat(3,1fr); } }
@media (max-width:760px) { .dr-metric-grid { grid-template-columns:repeat(2,1fr); } .dr-page-head { flex-direction:column; } .dr-visual-card { grid-template-columns:1fr; } }

/* 情报雷达二级分类：市场雷达与口碑雷达共用同一导航与窄屏规则。 */
.radar-category-page { padding:0 !important; overflow:hidden; }
.radar-category-shell { display:grid; grid-template-columns:190px minmax(0,1fr); min-height:calc(100vh - 132px); background:#fff; }
.radar-category-nav { min-width:0; padding:22px 15px; border-right:1px solid #ece3d8; background:#faf8f4; box-sizing:border-box; }
.radar-category-nav__title { margin:0 8px 16px; color:#4a3520; font-size:17px; font-weight:700; }
.radar-category-nav__list { display:grid; gap:10px; }
.radar-category-nav__item { width:100%; min-height:52px; padding:0 14px; border:1px solid transparent; border-radius:11px; background:transparent; color:#6b625a; cursor:pointer; font:inherit; font-weight:600; text-align:left; transition:background .16s,color .16s,border-color .16s; }
.radar-category-nav__item:hover { background:#fffaf3; color:#855623; }
.radar-category-nav__item.is-active { border-color:#dbb078; background:#f8eedf; box-shadow:inset 4px 0 0 #8d5a21; color:#754312; }
.radar-category-content { min-width:0; padding:22px 24px 30px; box-sizing:border-box; }
@media (max-width:900px) {
  .radar-category-shell { grid-template-columns:150px minmax(0,1fr); }
  .radar-category-nav { padding:16px 10px; }
  .radar-category-nav__title { margin:0 6px 12px; font-size:15px; }
  .radar-category-nav__item { min-height:48px; padding:0 10px; font-size:13px; }
  .radar-category-content { padding:18px; }
}
@media (max-width:720px) {
  .radar-category-page { overflow:visible; }
  .radar-category-shell { display:block; min-height:0; }
  .radar-category-nav { padding:12px 14px; border-right:0; border-bottom:1px solid #ece3d8; }
  .radar-category-nav__title { display:none; }
  .radar-category-nav__list { display:flex; overflow-x:auto; padding-bottom:2px; }
  .radar-category-nav__item { width:auto; min-width:118px; flex:0 0 auto; text-align:center; }
  .radar-category-content { padding:16px 14px 22px; }
}

/* 口碑雷达：与市场情报共用情报雷达入口，五个业务页在窄屏下保持可横向查看。 */
.reputation-radar-page { min-width:0; }
.rr-head { display:flex; align-items:flex-start; justify-content:space-between; gap:18px; margin-bottom:8px; }
.rr-head h2 { margin:0 0 5px; font-size:22px; }
.rr-head p { margin:0; color:var(--ym-text-secondary,#6b7280); }
.rr-tabs > .el-tabs__header { margin-bottom:14px; }
.rr-section { min-width:0; }
.rr-filter { display:flex; flex-wrap:wrap; gap:8px; align-items:center; }
.rr-filter > .el-input, .rr-filter > .el-select { width:150px; }
.rr-filter > .el-date-editor { width:145px; }
.rr-toolbar { display:flex; justify-content:space-between; align-items:center; gap:12px; margin:10px 0; }
.rr-toolbar small { color:var(--ym-text-secondary,#6b7280); }
.rr-metric-grid { display:grid; grid-template-columns:repeat(5,minmax(130px,1fr)); gap:12px; margin:14px 0; }
.rr-metric { border:1px solid #e5e7eb; border-radius:12px; padding:14px; background:#fff; }
.rr-metric span { display:block; color:#64748b; font-size:13px; }
.rr-metric strong { display:inline-block; margin-top:6px; font-size:25px; color:#172033; }
.rr-metric small { margin-left:4px; color:#94a3b8; }
.rr-scope-note { margin:10px 0; color:#64748b; font-size:13px; }
.rr-metrics { display:grid; grid-template-columns:repeat(5,minmax(120px,1fr)); gap:12px; margin:14px 0; }
.rr-metrics > div { border:1px solid #e5e7eb; border-radius:12px; padding:13px; background:#fff; }
.rr-metrics span { display:block; color:#64748b; font-size:13px; }
.rr-metrics strong { display:block; margin-top:5px; font-size:24px; color:#172033; }
.rr-analysis-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
.rr-analysis-grid article { border:1px solid #e5e7eb; border-radius:12px; padding:14px; background:#fff; min-width:0; }
.rr-analysis-grid article h3 { margin:0 0 12px; }
.rr-analysis-grid ol { list-style:none; margin:0; padding:0; display:grid; gap:8px; }
.rr-analysis-grid li { display:flex; justify-content:space-between; gap:12px; border-bottom:1px dashed #e5e7eb; padding-bottom:7px; }
.rr-bars { display:flex; align-items:flex-end; min-height:190px; gap:8px; overflow-x:auto; }
.rr-bars > div { display:flex; flex-direction:column; align-items:center; justify-content:flex-end; min-width:42px; height:180px; }
.rr-bars i { width:18px; min-height:4px; border-radius:5px 5px 0 0; background:#5b7cfa; }
.rr-bars b { font-size:12px; }
.rr-bars small { color:#64748b; }
.rr-field-panels { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
.rr-field-panels article { border:1px solid #e5e7eb; border-radius:10px; padding:12px; }
.rr-field-panels header, .rr-field-panels article > div { display:flex; align-items:center; justify-content:space-between; gap:8px; }
.rr-panel { border:1px solid #e5e7eb; border-radius:12px; padding:14px; min-width:0; background:#fff; }
.rr-panel h4 { margin:0 0 12px; }
.rr-trend { display:flex; align-items:flex-end; gap:7px; min-height:190px; overflow-x:auto; }
.rr-trend-item { min-width:42px; text-align:center; color:#64748b; font-size:11px; }
.rr-trend-item i { display:block; width:18px; min-height:4px; margin:5px auto; border-radius:5px 5px 0 0; background:#5b7cfa; }
.rr-ranking { display:grid; gap:8px; }
.rr-ranking-row { display:grid; grid-template-columns:minmax(90px,1fr) 3fr 45px; gap:8px; align-items:center; font-size:13px; }
.rr-ranking-row i { height:8px; border-radius:999px; background:#fb923c; }
.rr-up { color:#dc2626; font-weight:600; }
.rr-attachments { display:flex; flex-wrap:wrap; gap:7px; margin-top:8px; }
.rr-attachments span { display:inline-flex; align-items:center; gap:5px; padding:4px 8px; border-radius:8px; background:#f1f5f9; }
.rr-attachments button { border:0; background:transparent; cursor:pointer; color:#ef4444; }
.rr-settings-grid { display:grid; grid-template-columns:minmax(0,1.4fr) minmax(340px,1fr); gap:14px; }

@media (max-width:900px) {
  .rr-head, .rr-toolbar { align-items:flex-start; flex-direction:column; }
  .rr-metric-grid, .rr-metrics { grid-template-columns:repeat(2,minmax(120px,1fr)); }
  .rr-analysis-grid, .rr-settings-grid, .rr-field-panels { grid-template-columns:1fr; }
  .rr-filter { flex-wrap:nowrap; overflow-x:auto; padding-bottom:6px; }
  .rr-filter > * { flex:0 0 auto; }
}

/* 运营上架：多商品链接管理 */
.product-link-create { display:flex; gap:10px; margin-bottom:14px; }
.product-link-create .el-input { flex:1; }
.product-link-row { display:flex; align-items:center; gap:10px; min-height:42px; padding:8px 4px; border-bottom:1px solid #edf0f5; }
.product-link-url { flex:1; min-width:0; overflow:hidden; color:#2563eb; text-decoration:none; text-overflow:ellipsis; white-space:nowrap; }
.product-link-url:hover { text-decoration:underline; }
.product-link-meta { flex:0 0 185px; overflow:hidden; color:#909399; font-size:12px; text-overflow:ellipsis; white-space:nowrap; }
.product-link-actions { display:flex; flex:0 0 auto; gap:4px; }
@media (max-width:760px) { .product-link-create,.product-link-row { align-items:stretch; flex-direction:column; } .product-link-meta { flex:auto; } }

/* 统一任务中心：风险卡片与逾期任务强调 */
.todo-summary-cards { display:flex; gap:10px; flex-wrap:wrap; margin:0 0 12px; }
.todo-summary-card { min-width:104px; padding:10px 14px; border:1px solid #d9ecff; border-radius:8px; background:#f5faff; color:#409eff; cursor:pointer; text-align:left; }
.todo-summary-card b { display:block; font-size:22px; line-height:1.1; }
.todo-summary-card span { display:block; margin-top:5px; color:#606266; font-size:12px; }
.todo-summary-card.warning { border-color:#f3d19e; background:#fdf6ec; color:#e6a23c; }
.todo-summary-card.danger { border-color:#fbc4c4; background:#fef0f0; color:#f56c6c; }
.todo-summary-card.success { border-color:#b3e19d; background:#f0f9eb; color:#67c23a; }
.todo-overdue-row > td { background:#fff2f2 !important; }
.todo-overdue-row > td:first-child { border-left:4px solid #f56c6c; }

.task-kpis { display:flex; flex-wrap:wrap; gap:12px; margin-bottom:16px; }
.task-kpis > div { min-width:130px; padding:15px 18px; border:1px solid #e4e7ed; border-radius:10px; background:#fafcff; }
.task-kpis b,.task-kpis span { display:block; } .task-kpis b { color:#303133; font-size:25px; } .task-kpis span { margin-top:5px; color:#909399; font-size:12px; }
/* 任务中心 V2：一屏完成查找、判断和处理。 */
.task-center-v2 {
  min-height:calc(100vh - 94px);
  margin:-16px -18px;
  overflow:hidden;
  border:1px solid #e7ebf2;
  border-radius:12px;
  background:#fff;
  color:#202532;
  box-shadow:0 8px 28px rgba(32,51,84,.05);
}
.task-v2-header {
  display:grid;
  grid-template-columns:minmax(150px,auto) minmax(260px,580px) 1fr auto;
  align-items:center;
  gap:24px;
  min-height:74px;
  padding:0 26px;
  border-bottom:1px solid #edf0f5;
}
.task-v2-title { display:flex; align-items:center; gap:10px; white-space:nowrap; }
.task-v2-title h2 { margin:0; color:#1f2430; font-size:23px; line-height:1; }
.task-v2-title span { padding:4px 8px; border-radius:5px; background:#f1f5fb; color:#687386; font-size:12px; }
.task-v2-search { grid-column:2; }
.task-v2-search .el-input__wrapper { min-height:40px; border-radius:8px; box-shadow:0 0 0 1px #dfe4ec inset; }
.task-search-icon { color:#8791a3; font-size:22px; transform:rotate(-20deg); }
.task-v2-create { grid-column:4; min-height:40px; padding:0 20px; border-radius:7px; font-weight:600; }
.task-v2-nav {
  display:flex;
  align-items:center;
  justify-content:space-between;
  min-height:68px;
  padding:0 22px;
  border-bottom:1px solid #edf0f5;
}
.task-v2-nav .el-tabs { flex:1; min-width:0; margin-bottom:-1px; overflow:hidden; }
.task-v2-nav .el-tabs__header { margin:0; }
.task-v2-nav .el-tabs__nav-wrap::after { display:none; }
.task-v2-nav .el-tabs__item { height:68px; padding:0 13px; color:#667085; font-size:14px; }
.task-v2-nav .el-tabs__item.is-active { color:#2468f2; font-weight:650; }
.task-v2-nav .el-tabs__active-bar { height:3px; border-radius:3px 3px 0 0; background:#2468f2; }
.task-nav-label { display:inline-flex; align-items:center; gap:7px; white-space:nowrap; }
.task-nav-icon { width:16px; height:16px; overflow:visible; color:currentColor; }
.task-nav-icon path { fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.task-nav-label b { min-width:19px; padding:1px 5px; border-radius:9px; background:#f0f2f5; color:#8a93a3; font-size:11px; font-weight:600; line-height:16px; text-align:center; }
.task-v2-nav .el-tabs__item.is-active .task-nav-label b { background:#eaf1ff; color:#2468f2; }
.task-v2-view-actions { display:flex; align-items:center; gap:8px; margin-left:20px; }
.task-v2-view-actions .el-button { min-height:36px; border-color:#e0e5ed; color:#566173; }
.task-v2-status-strip {
  display:grid;
  grid-template-columns:repeat(4,minmax(150px,1fr));
  margin:22px 28px 16px;
  overflow:hidden;
  border:1px solid #e5e9f0;
  border-radius:8px;
  background:#fff;
}
.task-v2-status-strip button {
  display:flex;
  align-items:center;
  gap:10px;
  min-height:64px;
  padding:0 20px;
  border:0;
  border-right:1px solid #e8ecf2;
  background:transparent;
  color:#3f4654;
  cursor:pointer;
  font:inherit;
  transition:background .16s ease,box-shadow .16s ease;
}
.task-v2-status-strip button:last-child { border-right:0; }
.task-v2-status-strip button:hover,.task-v2-status-strip button.active { background:#f7faff; box-shadow:inset 0 -2px #2468f2; }
.task-v2-status-strip button i {
  display:grid;
  place-items:center;
  width:28px;
  height:28px;
  border-radius:50%;
  background:#f2f4f8;
  color:#667085;
  font-size:13px;
  font-style:normal;
}
.task-v2-status-strip button span { font-size:14px; }
.task-v2-status-strip button b { color:#1f2430; font-size:17px; }
.task-v2-status-strip button.warning i { background:#fff4df; color:#e99516; }
.task-v2-status-strip button.warning.active { background:#fffaf2; box-shadow:inset 0 -2px #e99516; }
.task-v2-status-strip button.danger { color:#ea4f56; }
.task-v2-status-strip button.danger i { background:#fff0f1; color:#ea4f56; }
.task-v2-status-strip button.danger b { color:#ea4f56; }
.task-v2-status-strip button.danger.active { background:#fff8f8; box-shadow:inset 0 -2px #ea4f56; }
.task-v2-filters,.task-v2-more-filters,.task-v2-filter-tags {
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:10px;
  padding:0 28px;
}
.task-v2-filters { min-height:48px; }
.task-v2-filters .el-select { width:142px; }
.task-v2-filters .el-button { min-height:36px; }
.task-v2-more-filters { margin:8px 28px 0; padding:14px; border:1px solid #e8ecf2; border-radius:8px; background:#f9fafc; }
.task-v2-more-filters .el-select { width:145px; }
.task-v2-more-filters .el-date-editor { width:310px; }
.task-v2-filter-tags { min-height:42px; padding-top:8px; }
.task-v2-filter-tags > span { color:#8a93a3; font-size:12px; }
.task-v2-filter-tags .el-tag { max-width:260px; }
.task-dashboard-inline { margin-top:18px; padding-top:18px; border-top:1px solid #ebeef5; }
.task-dashboard-title { display:flex; align-items:center; justify-content:space-between; gap:16px; margin-bottom:14px; }
.task-dashboard-title h4 { margin:0 0 4px; font-size:17px; }
.task-dashboard-title span { color:#909399; font-size:12px; }
.task-v2-dashboard { margin:12px 28px 0; padding:16px 18px; border:1px solid #e5eaf2; border-radius:9px; background:#f8faff; }
.task-v2-dashboard .task-kpis { margin:0; }
.task-v2-dashboard .task-kpis > div { flex:1; min-width:100px; padding:10px 14px; border:0; background:#fff; }
.task-v2-dashboard .task-kpis b { font-size:22px; }
.task-v2-workspace {
  display:grid;
  grid-template-columns:minmax(0,1fr);
  min-height:440px;
  margin-top:12px;
  border-top:1px solid #edf0f5;
}
.task-v2-workspace.detail-open { grid-template-columns:minmax(500px,1fr) minmax(390px,34%); }
.task-v2-list { min-width:0; min-height:420px; padding:0 12px 12px; background:#fff; }
.task-v2-row {
  position:relative;
  display:grid;
  grid-template-columns:18px minmax(230px,1fr) minmax(100px,145px) minmax(120px,150px) 80px 78px 42px;
  align-items:center;
  gap:12px;
  min-height:84px;
  padding:0 16px;
  border-bottom:1px solid #edf0f5;
  background:#fff;
  cursor:pointer;
  transition:background .14s ease,box-shadow .14s ease;
  box-sizing:border-box;
}
.task-v2-row:hover { z-index:1; background:#fbfcff; box-shadow:0 5px 18px rgba(42,62,96,.06); }
.task-v2-row.selected { background:#f5f8ff; box-shadow:inset 3px 0 #2468f2; }
.task-v2-risk-dot { width:9px; height:9px; border-radius:50%; background:#a6aebb; }
.task-v2-row.tone-danger .task-v2-risk-dot { background:#ef3f4c; }
.task-v2-row.tone-warning .task-v2-risk-dot { background:#f39a1f; }
.task-v2-row.tone-success .task-v2-risk-dot { background:#34ad52; }
.task-v2-main { min-width:0; }
.task-v2-main strong,.task-v2-main small { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.task-v2-main strong { color:#202532; font-size:15px; font-weight:650; }
.task-v2-main small { margin-top:7px; color:#7d8798; font-size:12px; }
.task-v2-owner { display:flex; align-items:center; min-width:0; gap:9px; }
.task-v2-owner .el-avatar { flex:0 0 auto; background:#edf2fb; color:#44648e; font-size:13px; }
.task-v2-owner span { overflow:hidden; color:#4e5665; font-size:13px; text-overflow:ellipsis; white-space:nowrap; }
.task-v2-due { color:#4f5765; font-size:13px; white-space:nowrap; }
.task-v2-due.tone-danger { color:#e54048; font-weight:600; }
.task-v2-due.tone-warning { color:#e48412; font-weight:600; }
.task-v2-priority { color:#596273; font-size:13px; white-space:nowrap; }
.task-v2-priority.priority-urgent { color:#e54048; font-weight:600; }
.task-v2-priority.priority-high { color:#dc7c14; }
.task-v2-primary { width:72px; margin:0; }
.task-v2-more { width:34px; height:34px; border:0; border-radius:6px; background:transparent; color:#697386; cursor:pointer; font-size:14px; letter-spacing:1px; }
.task-v2-more:hover { background:#eef2f8; }
.task-v2-pagination { display:flex; justify-content:flex-end; padding:16px 14px 4px; }
.task-v2-detail {
  position:relative;
  display:flex;
  flex-direction:column;
  min-width:0;
  max-height:calc(100vh - 170px);
  overflow-y:auto;
  border-left:1px solid #e3e8f0;
  background:#fff;
  box-shadow:-8px 0 24px rgba(35,52,80,.045);
}
.task-v2-detail-head { display:flex; align-items:flex-start; justify-content:space-between; gap:16px; padding:24px 24px 13px; }
.task-v2-detail-head h3 { margin:0; color:#1f2430; font-size:19px; line-height:1.4; }
.task-v2-detail-head span { display:block; margin-top:6px; color:#8690a0; font-size:12px; }
.task-v2-detail-head button { flex:0 0 auto; width:32px; height:32px; border:0; border-radius:6px; background:transparent; color:#667085; cursor:pointer; font-size:25px; line-height:1; }
.task-v2-detail-head button:hover { background:#f1f3f7; }
.task-v2-detail-tools { display:flex; align-items:center; gap:4px; }
.task-v2-detail-head .task-detail-star { display:grid; place-items:center; font-size:inherit; }
.task-v2-detail-head .task-detail-star .task-nav-icon { width:18px; height:18px; }
.task-v2-detail-head .task-detail-star.active { background:#fff7dd; color:#e6a20f; }
.task-v2-detail-head .task-detail-star.active .task-nav-icon path { fill:currentColor; }
.task-v2-detail-head .task-detail-close { font-size:25px; }
.task-v2-detail-status { display:flex; align-items:center; gap:12px; padding:0 24px 18px; border-bottom:1px solid #edf0f5; }
.task-v2-detail-status > span { color:#737d8e; font-size:12px; }
.task-v2-detail-status > span.tone-danger { color:#e54048; }
.task-v2-detail-status > span.tone-warning { color:#e48412; }
.task-v2-detail-grid { display:grid; grid-template-columns:1fr 1fr; gap:18px 24px; padding:20px 24px; }
.task-v2-detail-grid small,.task-v2-detail-grid b { display:block; }
.task-v2-detail-grid small { margin-bottom:5px; color:#8992a2; font-size:12px; }
.task-v2-detail-grid b { overflow:hidden; color:#333a47; font-size:13px; font-weight:550; text-overflow:ellipsis; white-space:nowrap; }
.task-v2-description,.task-v2-delay { margin:0 24px; padding:17px 0; border-top:1px solid #edf0f5; }
.task-v2-description h4,.task-v2-delay h4 { margin:0 0 8px; color:#3b4350; font-size:14px; }
.task-v2-description h4:not(:first-child) { margin-top:16px; }
.task-v2-description p,.task-v2-delay p { margin:0; color:#646e7e; font-size:13px; line-height:1.75; white-space:pre-wrap; }
.task-v2-delay p { margin-top:8px; padding:9px 10px; border-radius:6px; background:#fff8ee; }
.task-v2-delay p small { display:block; margin-top:4px; color:#9b8a73; }
.task-v2-detail-tabs { border-top:1px solid #edf0f5; }
.task-v2-detail-tabs > .el-tabs__header { margin:0; padding:0 24px; }
.task-v2-detail-tabs > .el-tabs__content { min-height:120px; }
.task-v2-tab-body { max-height:270px; overflow-y:auto; padding:4px 24px 14px; }
.task-comment-item { padding:12px 0; border-bottom:1px solid #ebeef5; }
.task-comment-item > div { display:flex; justify-content:space-between; gap:12px; }
.task-comment-item b { color:#3b4350; font-size:13px; }
.task-comment-item small { color:#9099a7; font-size:11px; }
.task-comment-item p { margin:7px 0 0; color:#4d5665; font-size:13px; line-height:1.65; white-space:pre-wrap; }
.task-event-list > div { display:flex; gap:10px; padding:10px 0; }
.task-event-list > div > i { width:7px; height:7px; margin-top:6px; border-radius:50%; background:#7ea6f9; }
.task-event-list p { margin:0; }
.task-event-list b,.task-event-list span { display:block; }
.task-event-list b { color:#424b59; font-size:13px; }
.task-event-list span { margin-top:4px; color:#929baa; font-size:11px; }
.task-file-list a,.task-file-list .task-file-download { width:100%; display:flex; justify-content:space-between; gap:10px; padding:12px 0; border:0; border-bottom:1px solid #edf0f5; background:transparent; color:#2468f2; text-decoration:none; cursor:pointer; text-align:left; font:inherit; }
.task-file-list a small,.task-file-list .task-file-download small { color:#929baa; }
.task-editor-files { width:100%; margin-top:8px; padding:8px 10px; border:1px solid #e4e7ed; border-radius:8px; background:#fafbfc; }
.task-editor-files > div { display:flex; align-items:center; justify-content:space-between; gap:8px; }
.task-v2-comment-box { padding:12px 24px; border-top:1px solid #edf0f5; background:#fafbfd; }
.task-v2-comment-box .el-textarea__inner { min-height:68px; border-radius:7px; box-shadow:0 0 0 1px #dfe4ec inset; }
.task-v2-comment-box .el-button { display:block; margin:9px 0 0 auto; }
.task-v2-detail-actions { position:sticky; bottom:0; display:flex; align-items:center; gap:8px; margin-top:auto; padding:14px 24px; border-top:1px solid #e6eaf0; background:rgba(255,255,255,.97); }
.task-v2-detail-actions > span { flex:1; }
.task-v2-calendar { max-width:900px; margin:0 auto; padding:26px; }
.task-calendar-head { display:flex; align-items:flex-start; justify-content:space-between; margin-bottom:22px; }
.task-calendar-head h3 { margin:0; font-size:20px; }
.task-calendar-head p { margin:6px 0 0; color:#8a93a2; font-size:12px; }
.task-calendar-item { display:flex; justify-content:space-between; gap:20px; width:100%; padding:12px 14px; border:1px solid #e5e9f0; border-radius:8px; background:#fff; cursor:pointer; text-align:left; }
.task-calendar-item b { color:#313846; }
.task-calendar-item span { color:#808a9a; font-size:12px; }
@media (max-width:1180px) {
  .task-v2-header { grid-template-columns:auto minmax(220px,1fr) auto; gap:14px; }
  .task-v2-search { grid-column:2; }
  .task-v2-create { grid-column:3; }
  .task-v2-nav { align-items:flex-start; flex-direction:column; padding:0 18px 12px; }
  .task-v2-nav .el-tabs { width:100%; }
  .task-v2-view-actions { align-self:flex-end; margin:-48px 0 0; }
  .task-v2-nav .el-tabs__item { padding:0 14px; }
  .task-v2-workspace.detail-open { grid-template-columns:minmax(420px,1fr) minmax(360px,42%); }
  .task-v2-row { grid-template-columns:18px minmax(190px,1fr) 115px 120px 68px 72px 38px; gap:8px; padding:0 10px; }
}
@media (max-width:900px) {
  .task-center-v2 { margin:-12px; border-radius:8px; }
  .task-v2-header { grid-template-columns:1fr auto; padding:14px 16px; }
  .task-v2-title { grid-column:1; }
  .task-v2-search { grid-column:1 / -1; grid-row:2; }
  .task-v2-create { grid-column:2; grid-row:1; }
  .task-v2-status-strip { grid-template-columns:1fr 1fr; margin:16px; }
  .task-v2-status-strip button:nth-child(2) { border-right:0; }
  .task-v2-status-strip button:nth-child(-n+2) { border-bottom:1px solid #e8ecf2; }
  .task-v2-filters,.task-v2-filter-tags { padding-left:16px; padding-right:16px; }
  .task-v2-more-filters { margin-left:16px; margin-right:16px; }
  .task-v2-workspace.detail-open { display:block; }
  .task-v2-detail { position:fixed; z-index:2300; inset:0 0 0 auto; width:min(92vw,520px); max-height:100vh; box-shadow:-18px 0 45px rgba(26,39,62,.2); }
  .task-v2-row { grid-template-columns:14px minmax(180px,1fr) 110px 72px 38px; }
  .task-v2-owner { display:none; }
  .task-v2-priority { display:none; }
}
@media (max-width:640px) {
  .task-v2-nav { overflow:hidden; }
  .task-v2-nav .el-tabs__nav-wrap { overflow-x:auto; }
  .task-v2-nav .el-tabs__item { padding:0 12px; }
  .task-v2-view-actions { align-self:stretch; justify-content:flex-end; margin:0; }
  .task-v2-view-actions .el-button:last-child { display:none; }
  .task-v2-filters .el-select { width:calc(50% - 5px); }
  .task-v2-filters > .el-button { flex:1; }
  .task-v2-more-filters .el-date-editor { width:100%; }
  .task-v2-row { grid-template-columns:12px minmax(0,1fr) 70px 34px; min-height:92px; }
  .task-v2-due { grid-column:2; grid-row:2; margin-top:38px; font-size:11px; }
  .task-v2-primary { grid-column:3; grid-row:1 / 3; }
  .task-v2-more { grid-column:4; grid-row:1 / 3; }
  .task-v2-detail { width:100vw; }
  .task-v2-detail-grid { gap:14px; padding:16px; }
  .task-v2-detail-head,.task-v2-detail-status,.task-v2-comment-box,.task-v2-detail-actions { padding-left:16px; padding-right:16px; }
  .task-v2-description,.task-v2-delay { margin-left:16px; margin-right:16px; }
}

/* 任务中心 V3：固定左侧分类 + 轻量任务卡片，信息集中在右侧工作区。 */
.task-center-v2 { height:calc(100vh - 94px); min-height:0; }
.task-v3-shell { display:grid; grid-template-columns:202px minmax(0,1fr); height:100%; min-height:0; }
.task-v3-sidebar { position:sticky; top:0; display:flex; flex-direction:column; min-width:0; height:100%; padding:22px 14px 18px; overflow-y:auto; border-right:1px solid #e8ecf2; background:#fafbfc; box-sizing:border-box; }
.task-v3-brand { display:grid; gap:5px; padding:0 10px 18px; }
.task-v3-brand span { color:#202532; font-size:18px; font-weight:700; }
.task-v3-brand small { color:#929baa; font-size:11px; }
.task-v3-side-search { display:grid; grid-template-columns:minmax(0,1fr) 36px; gap:7px; margin-top:11px; }
.task-v3-side-search .el-input__wrapper { min-height:36px; padding:0 9px; border-radius:7px; box-shadow:0 0 0 1px #dfe4ec inset; }
.task-v3-side-search .el-input__inner { font-size:12px; }
.task-v3-side-search .task-search-icon { font-size:17px; }
.task-v3-side-search .el-button { width:36px; height:36px; margin:0; padding:0; border-radius:7px; font-size:20px; }
.task-v3-side-nav { display:grid; gap:3px; }
.task-v3-side-nav button,.task-v3-side-tools button {
  display:grid; grid-template-columns:19px minmax(0,1fr) auto; align-items:center; gap:9px; width:100%; min-height:42px;
  padding:0 10px; border:0; border-radius:7px; background:transparent; color:#606a7a; cursor:pointer; font:inherit; font-size:13px; text-align:left;
}
.task-v3-side-nav button:hover,.task-v3-side-tools button:hover { background:#f0f3f8; color:#2e3847; }
.task-v3-side-nav button.active,.task-v3-side-tools button.active { background:#eaf1ff; color:#2265e8; font-weight:650; }
.task-v3-side-nav .task-nav-icon { width:17px; height:17px; }
.task-v3-side-nav b { min-width:22px; padding:1px 5px; border-radius:10px; background:#edf0f4; color:#8a93a2; font-size:11px; line-height:18px; text-align:center; }
.task-v3-side-nav button.active b { background:#dbe8ff; color:#2265e8; }
.task-v3-side-tools { display:grid; gap:3px; margin-top:17px; padding-top:14px; border-top:1px solid #e8ecf2; }
.task-v3-side-tools .el-dropdown { display:block; width:100%; }
.task-v3-side-tools button { grid-template-columns:19px minmax(0,1fr) auto; }
.task-v3-side-tools button i { color:#9aa2af; font-style:normal; }
.task-v3-content { display:flex; flex-direction:column; min-width:0; min-height:0; height:100%; overflow:hidden; background:#fff; overscroll-behavior:contain; }
.task-v3-content .task-v2-header { grid-template-columns:minmax(128px,auto) minmax(240px,540px) 1fr auto; padding:0 24px; }
.task-v3-content .task-v2-status-strip { margin:18px 22px 13px; }
.task-v3-content .task-v2-filters,.task-v3-content .task-v2-filter-tags { padding-left:22px; padding-right:22px; }
.task-v3-content .task-v2-more-filters { margin-left:22px; margin-right:22px; }
.task-v3-content .task-v2-dashboard { margin-left:22px; margin-right:22px; }
.task-v3-content .task-v2-list { min-height:0; padding:10px 14px 18px; overflow-y:auto; background:#f8fafc; overscroll-behavior:contain; }
.task-v3-content .task-v2-row {
  grid-template-columns:14px minmax(260px,1fr) 26px 76px 72px 36px; gap:10px; min-height:102px; margin-bottom:9px; padding:14px 15px;
  border:1px solid #e7ebf1; border-radius:9px; background:#fff; box-shadow:0 2px 8px rgba(36,54,82,.025);
}
.task-v3-content .task-v2-row:hover { border-color:#d9e2f1; background:#fff; box-shadow:0 7px 20px rgba(36,54,82,.075); }
.task-v3-content .task-v2-row.selected { border-color:#cbdcff; background:#f8faff; box-shadow:inset 3px 0 #2468f2; }
.task-v3-content .task-v2-main strong { overflow:visible; color:#242b37; font-size:15px; line-height:1.5; white-space:normal; }
.task-v3-content .task-v2-main > small { margin-top:6px; color:#9aa2ae; font-size:11px; }
.task-v3-row-meta { display:flex; align-items:center; flex-wrap:wrap; gap:5px 17px; margin-top:9px; color:#646e7e; font-size:12px; line-height:1.5; }
.task-v3-row-meta span { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.task-v3-row-meta span:first-child { max-width:240px; }
.task-v3-row-meta i { margin-right:5px; color:#9aa2af; font-style:normal; }
.task-v3-row-meta .tone-danger { color:#e3484f; font-weight:600; }
.task-v3-row-meta .tone-warning { color:#de8419; font-weight:600; }
.task-v3-content .task-v2-priority { justify-self:end; }
.task-v3-content .task-v2-primary { justify-self:end; }
.task-card-star { display:grid; place-items:center; width:26px; height:30px; padding:0; border:0; border-radius:6px; background:#fff8df; color:#e2a20d; cursor:pointer; }
.task-card-star:hover { background:#fff0bd; color:#c98b00; }
.task-card-star .task-nav-icon { width:17px; height:17px; }
.task-card-star .task-nav-icon path { fill:currentColor; stroke:currentColor; }
.task-v3-content .task-v2-primary.el-button { width:72px; height:34px; margin:0; border-radius:7px; font-size:13px; font-weight:600; }
.task-v3-content .task-v2-primary.action-start { border-color:#2f73e8; background:#2f73e8; color:#fff; }
.task-v3-content .task-v2-primary.action-start:hover { border-color:#1f63d5; background:#1f63d5; }
.task-v3-content .task-v2-primary.action-complete { border-color:#45a866; background:#45a866; color:#fff; }
.task-v3-content .task-v2-primary.action-complete:hover { border-color:#379456; background:#379456; }
.task-v3-content .task-v2-primary.action-detail { border-color:#dce1e8; background:#f4f6f8; color:#596474; }
.task-v3-content .task-v2-primary.action-detail:hover { border-color:#c9d0da; background:#e9edf2; color:#374151; }
.task-v3-content .task-v2-primary.action-accept { border-color:#d99a24; background:#d99a24; color:#fff; }
.task-v3-content .task-v2-primary.action-accept:hover { border-color:#c48615; background:#c48615; }
.task-v3-content .task-v2-workspace { flex:1 1 auto; grid-template-rows:minmax(0,1fr); min-height:0; margin-top:9px; overflow:hidden; }
.task-v3-content .task-v2-workspace > .task-v2-list { height:100%; box-sizing:border-box; }
.task-v3-content .task-v2-workspace.detail-open { grid-template-columns:minmax(460px,1fr) minmax(370px,40%); }
.task-v3-content .task-v2-detail { min-height:0; height:100%; max-height:none; overflow-y:auto; overscroll-behavior:contain; }
.task-v2-accept-actions { display:flex; gap:6px; margin-left:auto; }
.task-v2-accept-actions .el-button + .el-button { margin-left:0; }
.task-description-editor { padding-top:14px; }
.task-description-editor .el-textarea__inner { min-height:138px; border-radius:7px; line-height:1.7; }
.task-description-editor > .el-button { display:block; margin:10px 0 0 auto; }
.task-description-editor > p { margin:0; color:#596474; font-size:13px; line-height:1.75; white-space:pre-wrap; }

/* 统一任务新增/编辑弹窗。 */
.task-editor-dialog { max-width:calc(100vw - 30px); }
.task-editor-form .el-form-item { margin-bottom:19px; }
.task-editor-form .el-form-item__label { padding-bottom:7px; color:#384152; font-weight:600; }
.task-editor-form .el-textarea__inner { border-radius:8px; line-height:1.65; }
.task-form-help { display:block; margin-top:6px; color:#929baa; font-size:11px; line-height:1.45; }
.task-deadline-editor { display:flex; align-items:center; flex-wrap:wrap; gap:9px; width:100%; }
.task-deadline-quick { display:flex; gap:7px; }
.task-deadline-quick .el-button { min-width:70px; margin:0; }
.task-deadline-editor > .el-date-editor { width:158px; }
.task-deadline-editor > .el-date-editor.el-input { width:158px; }
.task-deadline-editor > .el-date-editor.el-input:nth-last-of-type(1) { width:132px; }
.task-deadline-result { margin-left:auto; padding:0 10px; border-radius:6px; background:#f3f6fa; color:#536071; font-size:12px; line-height:32px; white-space:nowrap; }

@media (max-width:1180px) {
  .task-v3-shell { grid-template-columns:184px minmax(0,1fr); }
  .task-v3-content .task-v2-header { grid-template-columns:auto minmax(200px,1fr) auto; }
  .task-v3-content .task-v2-workspace.detail-open { grid-template-columns:minmax(400px,1fr) minmax(350px,44%); }
}
@media (max-width:900px) {
  .task-v3-shell { grid-template-columns:168px minmax(0,1fr); }
  .task-v3-sidebar { padding-left:9px; padding-right:9px; }
  .task-v3-brand { padding-left:8px; padding-right:8px; }
  .task-v3-side-nav button,.task-v3-side-tools button { padding:0 8px; }
  .task-v3-content .task-v2-row { grid-template-columns:12px minmax(180px,1fr) 25px 68px 34px; }
  .task-v3-content .task-v2-priority { display:none; }
  .task-v3-content .task-v2-workspace.detail-open { display:block; }
}
@media (max-width:720px) {
  .task-center-v2 { overflow:hidden; }
  .task-v3-shell { display:flex; flex-direction:column; }
  .task-v3-sidebar { position:relative; flex:0 0 auto; width:100%; height:auto; max-height:166px; padding:10px; overflow:hidden; border-right:0; border-bottom:1px solid #e8ecf2; }
  .task-v3-brand { display:grid; grid-template-columns:auto minmax(220px,1fr); align-items:center; gap:10px; padding:0 2px 8px; }
  .task-v3-brand span { font-size:16px; }
  .task-v3-side-search { margin-top:0; }
  .task-v3-side-nav { display:flex; gap:6px; overflow-x:auto; padding-bottom:4px; scrollbar-width:none; }
  .task-v3-side-nav::-webkit-scrollbar { display:none; }
  .task-v3-side-nav button { grid-template-columns:16px auto auto; flex:0 0 auto; width:auto; min-height:36px; padding:0 10px; white-space:nowrap; }
  .task-v3-side-tools { display:flex; overflow-x:auto; margin-top:7px; padding-top:7px; }
  .task-v3-side-tools > button,.task-v3-side-tools .el-dropdown,.task-v3-side-tools .el-dropdown > button { flex:0 0 auto; width:auto; white-space:nowrap; }
  .task-v3-side-tools button { grid-template-columns:16px auto auto; min-height:34px; }
  .task-v3-content .task-v2-header { grid-template-columns:1fr auto; }
  .task-v3-content { flex:1 1 auto; height:auto; }
  .task-v3-content .task-v2-row { grid-template-columns:10px minmax(0,1fr) 24px 66px 32px; min-height:114px; padding:12px 10px; }
  .task-v3-row-meta { gap:4px 11px; }
  .task-v3-row-meta span { max-width:100% !important; }
  .task-deadline-result { width:100%; margin-left:0; text-align:center; }
}

/* 暖时光供应链：复用兵工厂的暖白卡片、棕金主操作与语义色。 */
.supply-page { min-height:calc(100vh - 56px); padding:18px 20px 28px; background:#fbf8f4; color:#302a25; box-sizing:border-box; }
.supply-page .page-card, .supply-page .supply-section { border:1px solid #eadfd3; border-radius:14px; background:#fffdfb; box-shadow:0 8px 24px rgba(95,65,38,.05); }
.supply-page .page-card { padding:20px; }
.supply-page .section-title, .supply-page h4 { color:#342d27; font-weight:700; }
.supply-page .el-button--primary { border-color:#855623; background:#855623; }
.supply-page .el-button--primary:hover, .supply-page .el-button--primary:focus { border-color:#9b6b3c; background:#9b6b3c; }
.supply-page .el-radio-button__orig-radio:checked + .el-radio-button__inner { border-color:#855623; background:#855623; box-shadow:-1px 0 0 0 #855623; }
.supply-page .stat-card { min-height:106px; margin-bottom:12px; padding:16px 18px; border:1px solid #eadfd3; border-top:4px solid #855623; border-radius:12px; background:#fffdfb; box-shadow:0 6px 18px rgba(95,65,38,.045); color:#7e7165; cursor:pointer; box-sizing:border-box; }
.supply-page .stat-card b { display:block; margin-top:10px; color:#2f2924; font-size:28px; line-height:1; }
.supply-page .el-table { --el-table-header-bg-color:#f7f1ea; --el-table-header-text-color:#66594d; --el-table-border-color:#eee4da; --el-table-row-hover-bg-color:#fcf7f1; }
.supply-page .el-table th.el-table__cell { font-weight:700; }
.supply-page .el-tag--success { --el-tag-bg-color:#edf4ed; --el-tag-border-color:#cfe0d0; --el-tag-text-color:#668269; }
.supply-page .el-tag--warning { --el-tag-bg-color:#fbf1df; --el-tag-border-color:#ecd2a4; --el-tag-text-color:#a16b2b; }
.supply-page .el-tag--danger { --el-tag-bg-color:#fff0ee; --el-tag-border-color:#efc0bc; --el-tag-text-color:#dc5b53; }
.supply-page .el-step__head.is-process, .supply-page .el-step__title.is-process { color:#855623; border-color:#855623; }
.supply-page .supply-section { margin-top:24px; overflow:hidden; }
.supply-page .supply-section-head { display:flex; align-items:center; justify-content:space-between; padding:18px 20px 14px; border-bottom:1px solid #f0e8df; }
.supply-page .supply-section-head h4 { margin:0; font-size:16px; }
.supply-page .supply-section-head span { display:block; margin-top:5px; color:#998d82; font-size:12px; }
.supply-page .supply-orders-section > .page-card { border:0; border-radius:0; box-shadow:none; }
.supply-account-page .page-card { max-width:none; }
@media (max-width:768px) { .supply-page { padding:12px; } .supply-page .stat-card { min-height:92px; padding:14px; } .supply-page .supply-section-head { align-items:flex-start; } }

/* 兵工厂批量导入：保持与需求工单同一套暖白/棕金层级。 */
.factory-import-dialog { display:grid; gap:14px; }
.factory-import-step { display:grid; grid-template-columns:112px minmax(0,1fr) auto; align-items:center; gap:12px; padding:13px 14px; border:1px solid #eadfd3; border-radius:10px; background:#fffdfb; }
.factory-import-step strong { color:#4a3829; }
.factory-import-step span { color:#8b7a6d; font-size:13px; }
.factory-import-step .el-upload { grid-column:2 / 4; width:100%; }
.factory-import-upload-step { grid-template-columns:1fr; align-items:stretch; }
.factory-import-upload-step > strong,
.factory-import-upload-step > span { padding-top:0; }
.factory-import-upload-step .el-upload { grid-column:1; width:100%; }
.factory-import-upload-step .el-upload-dragger {
  display:flex; box-sizing:border-box; align-items:center; justify-content:center; width:100%; min-height:220px; height:220px; padding:32px 20px;
}
.factory-import-upload-step .el-upload__text { text-align:center; }
.factory-import-upload-step .el-upload__tip { margin-top:8px; }
.factory-import-result { padding:14px; border:1px solid #eee4da; border-radius:10px; background:#fff; }
.factory-import-errors { margin-top:12px; }
.factory-import-errors-head { display:flex; align-items:center; justify-content:space-between; margin-bottom:7px; }
.factory-import-preview { margin-top:12px; }
.factory-import-success .el-result { padding:8px 0 0; }
@media (max-width:680px) { .factory-import-step { grid-template-columns:1fr; } .factory-import-step .el-upload { grid-column:auto; } }

/* 暖时光供应链：分销客户工单与主账号汇总看板 */
.distributor-portal { min-height:100vh; background:#f5f7fa; }
.portal-aside { background:#fff; border-right:1px solid #ebeef5; }
.portal-side-title { padding:20px 18px 10px; color:#8c6b42; font-size:13px; font-weight:700; }
.portal-main { padding:22px; }
.portal-page { max-width:1280px; margin:0 auto; }
.portal-page-head,.portal-board-title,.supply-hero,.supply-section-head { display:flex; align-items:center; justify-content:space-between; gap:16px; }
.portal-page-head { margin-bottom:18px; }
.portal-page-head h2,.supply-hero h2 { margin:0; color:#2e2720; font-size:22px; }
.portal-page-head p,.supply-hero p,.portal-board-title span,.supply-section-head span { margin:7px 0 0; color:#8c857d; font-size:13px; }
.portal-head-actions,.supply-hero-actions { display:flex; flex-wrap:wrap; gap:8px; }
.portal-head-actions .el-button { min-width:132px; color:#fff; border-color:#855623; background:#855623; }
.portal-head-actions .el-button:hover,.portal-head-actions .el-button:focus { color:#fff; border-color:#9b6b3c; background:#9b6b3c; }
.portal-filter { display:flex; align-items:center; flex-wrap:wrap; gap:10px; margin-bottom:16px; padding:12px 14px; border:1px solid #ebe5df; border-radius:10px; background:#fff; color:#786b60; font-size:13px; }
.portal-board { min-height:172px; padding:18px; margin-bottom:16px; border:1px solid #ebe5df; border-radius:12px; background:#fff; box-shadow:0 4px 14px rgba(78,56,35,.04); }
.portal-board-title h3 { margin:0; color:#44372d; font-size:16px; }
.portal-metric-grid,.supply-metric-grid { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:10px; margin-top:18px; }
.portal-metric,.supply-metric { padding:13px 12px; border:1px solid #f1e6d6; border-radius:9px; background:#fffaf3; }
.portal-metric span,.supply-metric span { display:block; color:#897c70; font-size:12px; line-height:1.4; }
.portal-metric b,.supply-metric b { display:block; margin-top:7px; color:#7c4d26; font-size:24px; line-height:1; }
.portal-metric-click { width:100%; cursor:pointer; font-family:inherit; text-align:left; transition:transform .16s ease,box-shadow .16s ease; }
.portal-metric-click:hover { transform:translateY(-2px); box-shadow:0 6px 14px rgba(124,77,38,.12); }
.portal-metric-click:focus-visible { outline:2px solid #b47a40; outline-offset:2px; }
.portal-recent-board { min-height:0; }
.portal-ticket-list { display:grid; gap:10px; }
.portal-ticket-card { padding:14px; border:1px solid #eee2d3; border-radius:10px; background:#fffdf9; }
.portal-ticket-head { display:flex; align-items:flex-start; justify-content:space-between; gap:10px; color:#4d3827; }
.portal-ticket-head strong { font-size:15px; line-height:1.45; }
.portal-ticket-no { margin-top:5px; color:#9a8571; font-size:12px; }
.portal-ticket-meta { display:flex; flex-wrap:wrap; gap:5px 13px; margin-top:9px; color:#6f6256; font-size:12px; line-height:1.55; }
.portal-ticket-description { margin:10px 0 0; color:#554a40; font-size:13px; line-height:1.65; white-space:pre-wrap; }
.portal-ticket-link { display:inline-block; margin-top:8px; color:#805629; font-size:12px; }
.portal-ticket-files,.distributor-attachment-list { display:flex; flex-wrap:wrap; align-items:center; gap:3px 8px; margin-top:9px; color:#8b7c6d; font-size:12px; }
.portal-ticket-files .el-button,.distributor-attachment-list .el-button { margin:0; }
.portal-ticket-actions { display:flex; flex-wrap:wrap; gap:8px; margin-top:12px; }
.portal-ticket-actions .el-button { margin-left:0; }
.distributor-order-toolbar { display:flex; flex-wrap:wrap; gap:8px; align-items:center; }
.issue-order-toolbar { margin-top:16px; }
.distributor-order-search { width:240px; }
.distributor-archive-actions { display:flex; align-items:center; gap:8px; }
.distributor-archive-actions .el-button { margin-left:0; }
.distributor-archive-current { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-top:12px; padding:9px 12px; border-radius:8px; background:#f8f4ef; color:#7b6b5d; font-size:13px; }
.distributor-archive-current strong { color:#57473a; }
.distributor-order-pagination { display:flex; justify-content:flex-end; margin-top:16px; }
.distributor-action-row { display:flex; flex-wrap:wrap; gap:8px; margin:18px 0; }
.rejection-reason-box { display:grid; gap:8px; padding:16px; border:1px solid #f2c8c4; border-radius:10px; background:#fff8f7; }
.rejection-reason-box b { color:#b53b35; }
.rejection-reason-box span { color:#8d7774; font-size:12px; }
.rejection-reason-box .el-button { justify-self:start; }
.portal-metric-grid.four { grid-template-columns:repeat(4,minmax(0,1fr)); }
.portal-form { box-sizing:border-box; max-width:860px; padding:20px 24px; border:1px solid #ebe5df; border-radius:12px; background:#fff; }
.portal-form .el-divider__text { color:#8a5a2d; font-weight:700; }
.form-tip { color:#9a9188; font-size:12px; line-height:20px; }
.supply-dashboard-v2 { max-width:none; }
.supply-hero { padding:24px 28px; border:1px solid #eadbcc; border-radius:14px; background:linear-gradient(105deg,#fff7eb,#f4e8dc); }
.supply-kicker { margin-bottom:6px; color:#a87137; font-size:12px; font-weight:700; letter-spacing:1px; }
.supply-filter { display:flex; align-items:center; flex-wrap:wrap; gap:10px; margin:0 0 16px; padding:16px 18px; border:1px solid #ebe5df; border-radius:12px; background:#fff; }
.supply-filter > span { color:#807367; font-size:13px; }
.supply-filter-actions { margin-left:auto; }
.supply-section { padding:20px 22px; margin:16px 0; border:1px solid #ebe5df; border-radius:12px; background:#fff; }
.supply-section-head { margin-bottom:14px; }
.supply-section-head h3 { margin:0; color:#3f342b; font-size:17px; }
.supply-metric-grid { grid-template-columns:repeat(8,minmax(0,1fr)); }
.supply-metric-grid.issue-grid { grid-template-columns:repeat(5,minmax(0,1fr)); }
.supply-funnel { display:flex; align-items:stretch; overflow-x:auto; padding:8px 0; }
.supply-funnel-item { position:relative; min-width:145px; flex:1; padding:15px 22px 15px 14px; border:1px solid #f0e1d1; border-radius:10px; background:#fff8f0; }
.supply-funnel-item + .supply-funnel-item { margin-left:18px; }
.supply-funnel-item span,.supply-funnel-item small { display:block; color:#8b7d70; font-size:12px; }
.supply-funnel-item b { display:block; margin:6px 0; color:#7c4d26; font-size:25px; }
.supply-funnel-item i { position:absolute; right:-17px; top:35px; z-index:1; color:#b88756; font-size:20px; font-style:normal; }
.supply-metric-click { cursor:pointer; transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease; }
.supply-metric-click:hover,.supply-metric-click:focus { transform:translateY(-2px); border-color:#d5a56f; box-shadow:0 8px 18px rgba(124,77,38,.10); outline:none; }
.distributor-order-count { margin-left:auto; color:#8b7d70; font-size:13px; }
.distributor-row-detail { padding:12px 18px 18px; background:#fbfcfe; }
.distributor-description { white-space:pre-wrap; line-height:1.7; word-break:break-word; }
.distributor-process-main { margin-top:14px; }
.distributor-process-main .el-descriptions__label { width:110px; }
.distributor-order-list .el-table__row { cursor:pointer; }
.unified-week-input { width:100%; cursor:pointer; }
.unified-week-input .el-input__inner { cursor:pointer; }
.unified-week-popper { padding:10px 12px 12px !important; }
.unified-week-calendar { width:100%; }
.unified-week-calendar-head { display:flex; align-items:center; justify-content:space-between; min-height:38px; padding:0 2px 6px; }
.unified-week-calendar-head b { color:#303133; font-size:14px; }
.unified-week-calendar-head .el-button + .el-button { margin-left:2px; }
.unified-week-weekdays,.unified-week-days { display:grid; grid-template-columns:repeat(7,1fr); }
.unified-week-weekdays span { padding:6px 0; color:#909399; font-size:12px; text-align:center; }
.unified-week-day { height:36px; padding:0; border:0; border-radius:0; background:transparent; color:#3f4652; cursor:pointer; }
.unified-week-day:hover { background:#ecf5ff; color:#1677ff; }
.unified-week-day.is-week-selected { background:#dcecff; color:#0757b8; font-weight:700; }
.unified-week-day.is-other-month { color:#c0c4cc; }
.unified-week-day.is-other-month.is-week-selected { color:#5f88b8; }
.unified-week-preview { margin-top:9px; padding:8px 10px; border-radius:7px; background:#f5f7fa; color:#475467; font-size:13px; text-align:center; }
.unified-week-actions { display:flex; align-items:center; gap:7px; margin-top:10px; }
.week-action-spacer { flex:1; }
.unsold-tab-label { display:inline-flex; align-items:center; gap:14px; max-width:min(620px,75vw); }
.unsold-tab-label small { color:#909399; font-size:12px; font-weight:400; white-space:normal; line-height:1.4; pointer-events:none; }
.unsold-field-list { display:grid; gap:8px; }
.unsold-field-item { display:flex; align-items:center; gap:9px; min-height:40px; padding:7px 10px; border:1px solid #ebeef5; border-radius:7px; background:#fff; cursor:grab; }
.unsold-field-item:active { cursor:grabbing; }
.unsold-promotion-item { display:flex; align-items:center; gap:8px; padding:10px; margin-bottom:8px; border:1px solid #ebeef5; border-radius:8px; background:#fafcff; }
@media (max-width: 760px) { .unsold-promotion-item { align-items:stretch; flex-direction:column; } .unsold-promotion-item .el-input { width:100% !important; } }
.unsold-drag-handle { color:#a8abb2; letter-spacing:-3px; }
.unsold-save-state { color:#67c23a; font-size:12px; white-space:nowrap; }
.unsold-save-state.is-error { color:#f56c6c; }
.unsold-followup-head { display:flex; align-items:flex-start; justify-content:space-between; gap:20px; }
.unsold-followup-head h3 { margin:10px 0 5px; font-size:20px; }
.unsold-followup-head span { color:#909399; font-size:13px; }
.unsold-followup-filter { display:flex; align-items:center; flex-wrap:wrap; gap:12px; }
.unsold-followup-data-basis { margin-left:auto; color:#f56c6c; font-size:14px; font-weight:600; white-space:nowrap; }
@media (max-width:390px) {
  .unsold-followup-filter .unsold-followup-data-basis { width:100%; margin-left:0; text-align:left; }
}
@media (max-width:1100px) { .supply-metric-grid { grid-template-columns:repeat(4,minmax(0,1fr)); } }
@media (max-width:760px) { .portal-main { padding:14px; } .portal-aside { display:none; } .portal-page-head,.supply-hero,.unsold-followup-head { align-items:flex-start; flex-direction:column; } .unsold-tab-label { align-items:flex-start; flex-direction:column; gap:2px; } .portal-metric-grid,.portal-metric-grid.four,.supply-metric-grid,.supply-metric-grid.issue-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } .portal-form,.supply-section { padding:16px 14px; } .supply-hero { padding:18px; } .supply-filter-actions { width:100%; margin-left:0; justify-content:flex-end; } .distributor-order-search { width:100%; } .distributor-archive-actions { width:100%; } .distributor-archive-actions .el-button { flex:1; } .distributor-order-count { width:100%; margin-left:0; text-align:right; } }

/* 暖时光供应链客户门户 V3：存档、列表联动及手机/微信内置浏览器适配。 */
.distributor-portal,.portal-main,.portal-page { box-sizing:border-box; max-width:100%; }
.portal-dashboard-v3 { overflow-x:hidden; }
.workbench-create-action.el-button {
  min-width:132px; height:32px; padding:0 15px; border-color:#855623; border-radius:6px;
  background:#855623; color:#fff !important; font-size:13px; font-weight:600;
  box-shadow:0 4px 10px rgba(92,57,26,.16); transition:background-color .15s,border-color .15s,box-shadow .15s,transform .15s;
}
.workbench-create-action.el-button > span { color:#fff !important; }
.workbench-create-action.el-button:hover,.workbench-create-action.el-button:focus {
  border-color:#9b6b3c; background:#9b6b3c; color:#fff !important; box-shadow:0 5px 12px rgba(92,57,26,.2);
}
.workbench-create-action.el-button:active { border-color:#6f451d; background:#6f451d; transform:translateY(1px); }
.workbench-create-action.el-button.is-disabled { border-color:#cdb49b; background:#cdb49b; box-shadow:none; }
.portal-filter-v3 { position:relative; margin-top:0; }
.portal-filter-spacer { flex:1; }
.portal-archive-entry { display:flex; flex-wrap:wrap; gap:8px; }
.portal-archive-entry .el-button { margin-left:0; }
.portal-dashboard-v3 .portal-board-title > .el-button { flex:none; }
.portal-dashboard-v3 .portal-metric-grid { grid-template-columns:repeat(auto-fit,minmax(105px,1fr)); }
.portal-metric-click.is-selected { border-color:#9b632e; background:#f7e6cf; box-shadow:0 0 0 2px rgba(155,99,46,.12); }
.portal-results { min-height:0; scroll-margin-top:12px; }
.portal-results-head,.portal-list-toolbar,.portal-section-title { display:flex; align-items:center; justify-content:space-between; gap:10px; }
.portal-results-head h3,.portal-section-title h4 { margin:0; color:#44372d; }
.portal-results-head span { display:block; margin-top:5px; color:#8c857d; font-size:12px; }
.portal-list-toolbar { flex-wrap:wrap; margin:0 0 14px; padding:10px; border-radius:9px; background:#faf7f3; color:#84766a; font-size:12px; }
.portal-list-toolbar .el-input { width:min(360px,100%); }
.portal-current-view { color:#855623; font-size:13px; }
.portal-section-title { min-height:36px; scroll-margin-top:12px; }
.portal-section-title > div { min-width:0; }
.portal-section-title span { display:block; margin-top:4px; color:#8c857d; font-size:12px; line-height:1.4; }
.portal-collapse-button { flex:0 0 auto; min-width:70px; margin-left:0 !important; }
.portal-section-content { padding-top:12px; }
.portal-ticket-columns { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); align-items:start; gap:16px; width:100%; }
.portal-ticket-columns.is-single { grid-template-columns:minmax(0,1fr); }
.portal-ticket-columns .portal-ticket-section { min-width:0; width:100%; margin:0; padding:0; border-top:0; box-sizing:border-box; overflow:hidden; }
.portal-ticket-columns .portal-ticket-section + .portal-ticket-section { margin:0; padding:0; border-top:0; }
.portal-ticket-section + .portal-ticket-section { margin-top:22px; padding-top:20px; border-top:1px solid #eee5dc; }
.portal-ticket-section .el-pagination { justify-content:flex-end; margin-top:14px; }
.portal-ticket-card,.portal-ticket-card * { min-width:0; }
.portal-ticket-head strong,.portal-ticket-description,.portal-rejection,.portal-rectification,.portal-delivery-result,.portal-archive-meta,.portal-history { overflow-wrap:anywhere; word-break:break-word; }
.portal-rejection,.portal-rectification,.portal-archive-meta { margin-top:10px; padding:9px 10px; border-radius:8px; font-size:12px; line-height:1.65; }
.portal-rejection { background:#fff3f1; color:#a14840; }
.portal-rectification { background:#f0f8ef; color:#547552; }
.portal-delivery-result { display:flex; flex-wrap:wrap; align-items:center; gap:8px 14px; margin-top:10px; padding:10px 12px; border-radius:8px; background:#f0f8ef; color:#547552; font-size:12px; line-height:1.65; }
.portal-delivery-result a { color:#8a5727; font-weight:600; }
.shared-ticket-board-row { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); align-items:start; gap:16px; width:100%; }
.shared-ticket-board { min-width:0; margin-bottom:0; box-sizing:border-box; }
.shared-ticket-board-head { display:flex; align-items:flex-start; justify-content:space-between; gap:14px; }
.shared-ticket-board-head > div { min-width:0; }
.shared-ticket-board-head span { display:block; margin-top:5px; color:#8c857d; font-size:12px; line-height:1.45; }
.shared-ticket-metrics { grid-template-columns:repeat(auto-fit,minmax(105px,1fr)); }
.shared-ticket-metric { min-height:78px; appearance:none; }
.shared-ticket-metric.is-danger b { color:#c4564f; }
.shared-ticket-metric.is-success b { color:#5c815f; }
.supply-dashboard-v3 { overflow-x:hidden; }
.supply-dashboard-v3 .shared-ticket-board-row { margin-top:16px; }
.customer-ticket-stats { padding:0 !important; overflow:hidden; }
.customer-stats-head { margin:0 !important; }
.customer-stats-info { display:inline-flex !important; align-items:center; min-height:30px; margin:0 !important; color:#855623 !important; cursor:help; white-space:nowrap; }
.customer-stats-filter { display:flex; align-items:center; flex-wrap:wrap; gap:10px; padding:14px 20px; border-bottom:1px solid #f0e8df; background:#fdfaf7; }
.customer-stats-filter .el-input { width:min(340px,100%); }
.customer-stats-filter .el-select { width:150px; }
.customer-stats-filter > span { margin-left:auto; color:#8a7c70; font-size:12px; }
.customer-stats-table { width:100%; }
.customer-stats-table th.product-group-head { background:#f7efe4 !important; color:#7c4d26 !important; }
.customer-stats-table th.issue-group-head { background:#eef4f8 !important; color:#45697e !important; }
.customer-stats-table .el-button.is-link { min-width:34px; font-weight:700; }
.customer-stats-error { display:flex; align-items:center; flex-direction:column; padding:24px; }
.customer-ticket-stats > .el-pagination { justify-content:flex-end; padding:16px 20px 20px; }
.customer-stats-mobile { display:none; }
.customer-stats-card { padding:14px; border:1px solid #eadfd3; border-radius:12px; background:#fffdfb; box-shadow:0 5px 16px rgba(95,65,38,.05); }
.customer-stats-card h4 { margin:0 0 12px !important; overflow-wrap:anywhere; font-size:15px; }
.customer-stats-card-group { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:7px; margin-top:9px; padding:10px; border-radius:9px; }
.customer-stats-card-group.is-product { background:#fbf3e9; }
.customer-stats-card-group.is-issue { background:#f0f5f8; }
.customer-stats-card-group strong { grid-column:1/-1; color:#65584c; font-size:12px; }
.customer-stats-card-group button { min-width:0; min-height:56px; padding:7px 4px; border:1px solid rgba(133,86,35,.15); border-radius:8px; background:#fff; color:#7c4d26; font-family:inherit; touch-action:manipulation; }
.customer-stats-card-group button:not(:disabled) { cursor:pointer; }
.customer-stats-card-group button:disabled { color:#a9a29c; cursor:default; }
.customer-stats-card-group button span,.customer-stats-card-group button b { display:block; }
.customer-stats-card-group button span { font-size:11px; }
.customer-stats-card-group button b { margin-top:5px; font-size:19px; }
.customer-stats-card-group button.is-danger:not(:disabled) { color:#c4564f; }
.customer-stats-card-group button.is-success:not(:disabled) { color:#5c815f; }
.customer-stats-total { display:flex; align-items:center; justify-content:space-between; margin-top:10px; padding:10px 12px; border-top:1px dashed #e7d8c9; color:#63584f; }
.customer-stats-total b { color:#7c4d26; font-size:22px; }
.supply-ticket-list-dialog,.supply-ticket-detail-dialog { max-width:calc(100vw - 24px); }
.supply-ticket-list-dialog .el-dialog__body,.supply-ticket-detail-dialog .el-dialog__body { max-height:65vh; overflow:auto; overscroll-behavior:contain; }
.supply-ticket-detail-actions { display:flex; justify-content:flex-end; flex-wrap:wrap; gap:10px; }
.supply-ticket-detail-actions .el-button { margin-left:0; }
.portal-archive-meta { background:#f6f1eb; color:#796858; }
.portal-history { margin-top:10px; color:#75675b; font-size:12px; line-height:1.75; }
.portal-history summary { color:#805629; cursor:pointer; }
.portal-history > div { padding:4px 2px; border-bottom:1px dashed #eee3d8; }
.portal-ticket-actions { flex-direction:row; align-items:center; }
.portal-existing-files { display:grid; gap:7px; width:100%; }
.portal-existing-files .el-checkbox { height:auto; margin-right:0; white-space:normal; }
.portal-existing-files .el-checkbox__label { line-height:1.5; white-space:normal; word-break:break-all; }

@media (max-width:760px) {
  html,body,#app,.distributor-portal { width:100%; overflow-x:hidden; }
  .distributor-portal .topbar { height:auto; min-height:58px; padding:8px 12px; }
  .distributor-portal .brand-text { font-size:16px; }
  .distributor-portal .user { max-width:92px; overflow-wrap:anywhere; text-align:right; }
  .portal-main { width:100%; padding:10px; overflow-x:hidden; }
  .portal-filter-v3 { align-items:stretch; padding:10px; }
  .portal-filter-v3 .el-radio-group { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); width:100%; }
  .portal-filter-v3 .el-radio-button,.portal-filter-v3 .el-radio-button__inner { width:100%; }
  .portal-date-range { width:100% !important; max-width:100%; margin-left:0 !important; }
  .portal-filter-spacer { display:none; }
  .portal-archive-entry { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); width:100%; }
  .portal-archive-entry .el-button { width:100%; min-height:42px; padding:8px 6px; white-space:normal; }
  .portal-board { padding:13px 12px; border-radius:10px; }
  .portal-board-title,.portal-results-head { align-items:stretch; flex-direction:column; }
  .portal-board-title > .el-button { width:100%; min-height:44px; margin-left:0; }
  .portal-board-title > .workbench-create-action.el-button { width:100%; height:44px; min-height:44px; font-size:14px; }
  .portal-dashboard-v3 .portal-metric-grid,.portal-dashboard-v3 .portal-metric-grid.four { grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
  .portal-metric { min-height:76px; padding:11px 10px; touch-action:manipulation; }
  .portal-metric b { font-size:22px; }
  .portal-list-toolbar { align-items:stretch; flex-direction:column; }
  .portal-list-toolbar .el-input,.portal-list-toolbar .el-button { width:100%; min-height:42px; }
  .portal-section-title { align-items:center; }
  .portal-collapse-button { min-width:84px; min-height:42px; }
  .portal-ticket-columns,.portal-ticket-columns.is-single { grid-template-columns:minmax(0,1fr); gap:20px; }
  .shared-ticket-board-row { grid-template-columns:minmax(0,1fr); gap:14px; }
  .shared-ticket-board-head { align-items:stretch; flex-direction:column; }
  .shared-ticket-metrics { grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
  .supply-dashboard-v3 { padding:10px; }
  .supply-dashboard-v3 .supply-filter { align-items:stretch; padding:10px; }
  .supply-dashboard-v3 .supply-filter .el-radio-group { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); width:100%; }
  .supply-dashboard-v3 .supply-filter .el-radio-button,.supply-dashboard-v3 .supply-filter .el-radio-button__inner { width:100%; }
  .supply-dashboard-v3 .supply-filter .el-date-editor { width:100% !important; margin:0; }
  .supply-dashboard-v3 .supply-filter-actions { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; width:100%; }
  .supply-dashboard-v3 .supply-filter-actions .el-button { width:100%; min-height:42px; margin:0; white-space:normal; }
  .customer-stats-head { align-items:flex-start !important; gap:8px; }
  .customer-stats-filter { align-items:stretch; flex-direction:column; padding:12px; }
  .customer-stats-filter .el-input,.customer-stats-filter .el-select,.customer-stats-filter .el-button { width:100%; min-height:42px; }
  .customer-stats-filter > span { width:100%; margin-left:0; text-align:right; }
  .customer-stats-table { display:none; }
  .customer-stats-mobile { display:grid; gap:12px; padding:12px; }
  .customer-ticket-stats > .el-pagination { justify-content:center; padding:14px 8px 18px; overflow:hidden; }
  .supply-ticket-list-dialog,.supply-ticket-detail-dialog { width:calc(100vw - 20px) !important; margin-top:5vh !important; }
  .supply-ticket-list-dialog .el-dialog__body,.supply-ticket-detail-dialog .el-dialog__body { max-height:68vh; padding:14px 12px; }
  .supply-ticket-detail-dialog .el-descriptions { width:100%; overflow-wrap:anywhere; }
  .supply-ticket-detail-actions { display:grid; grid-template-columns:minmax(0,1fr); }
  .supply-ticket-detail-actions .el-button { width:100%; min-height:44px; white-space:normal; }
  .portal-ticket-card { padding:12px 11px; }
  .portal-ticket-head { align-items:flex-start; }
  .portal-ticket-head strong { font-size:14px; }
  .portal-ticket-meta { align-items:flex-start; flex-direction:column; gap:3px; }
  .portal-ticket-files { align-items:flex-start; flex-direction:column; }
  .portal-ticket-files .el-button { height:auto; min-height:34px; padding:6px 0; text-align:left; white-space:normal; }
  .portal-ticket-actions { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); width:100%; }
  .portal-ticket-actions .el-button { width:100%; min-height:42px; padding:8px 6px; white-space:normal; }
  .portal-ticket-section .el-pagination { justify-content:center; overflow:hidden; }
  .portal-form { width:100%; padding:14px 11px; }
  .portal-form .el-form-item { display:block; }
  .portal-form .el-form-item__label { display:block; width:auto !important; height:auto; padding:0 0 6px; line-height:1.5; text-align:left; }
  .portal-form .el-form-item__content { display:block; margin-left:0 !important; }
  .portal-form .el-input,.portal-form .el-input-number,.portal-form .el-select,.portal-form .el-date-editor { width:100% !important; max-width:100%; }
  .portal-form .el-radio-group { display:flex; flex-wrap:wrap; gap:6px 12px; }
  .portal-form .el-upload,.portal-form .el-upload .el-button { width:100%; min-height:42px; }
  .el-message-box { width:calc(100vw - 24px) !important; max-width:420px; }
  .el-overlay-dialog .el-dialog { width:calc(100vw - 20px) !important; max-width:calc(100vw - 20px); margin:10px auto !important; }
  .el-overlay-dialog .el-dialog__body { max-height:calc(100vh - 130px); overflow:auto; padding:14px; -webkit-overflow-scrolling:touch; }
}
.factory-efficiency{--eff-brown:#8b5a24;--eff-ink:#2f2924;--eff-muted:#8e8278;--eff-line:#eadfd4;display:flex;flex-direction:column;gap:14px;padding:2px 0 18px;color:var(--eff-ink)}
.efficiency-hero{display:flex;align-items:center;justify-content:space-between;padding:18px 22px;border:1px solid var(--eff-line);border-left:5px solid var(--eff-brown);border-radius:14px;background:linear-gradient(110deg,#fffdfb,#faf4ec)}
.efficiency-hero h2{margin:0 0 4px;font-size:24px}.efficiency-hero p,.efficiency-panel header p{margin:0;color:var(--eff-muted);font-size:13px}
.efficiency-filters{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:12px;border:1px solid var(--eff-line);border-radius:12px;background:#fff}
.efficiency-filters>.el-select{width:130px}.efficiency-filters>.el-date-editor{width:260px}
.efficiency-kpis{display:grid;grid-template-columns:repeat(6,minmax(130px,1fr));gap:0;border:1px solid var(--eff-line);border-radius:12px;overflow:hidden;background:#fff}
.efficiency-kpis button{appearance:none;text-align:left;border:0;border-right:1px solid var(--eff-line);border-radius:0;background:#fff;padding:14px 16px;color:var(--eff-ink);cursor:default;transition:.18s}.efficiency-kpis button:last-child{border-right:0}
.efficiency-kpis button.warning,.efficiency-kpis button.danger{cursor:pointer}.efficiency-kpis button:hover,.efficiency-kpis button.selected{box-shadow:0 7px 20px rgba(139,90,36,.11);transform:translateY(-1px)}
.efficiency-kpis button.warning{border-top:3px solid #d89b2b}.efficiency-kpis button.danger{border-top:3px solid #d55d55}.efficiency-kpis button.selected{background:#fff8ed}
.efficiency-kpis span{display:block;color:var(--eff-muted);font-size:13px}.efficiency-kpis strong{display:inline-block;margin:7px 6px 2px 0;font-size:28px}.efficiency-kpis small{color:#aaa099}
.efficiency-grid{display:grid;gap:14px}.efficiency-grid.two{grid-template-columns:minmax(0,1.3fr) minmax(360px,.7fr)}.efficiency-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}
.efficiency-panel{border:1px solid var(--eff-line);border-radius:14px;background:#fff;overflow:hidden}.efficiency-panel>header{display:flex;align-items:center;justify-content:space-between;padding:15px 18px;border-bottom:1px solid #f1e9e1}.efficiency-panel h3{margin:0 0 3px;font-size:17px}
.efficiency-compare{display:grid;grid-template-columns:120px minmax(140px,1fr) minmax(330px,1.6fr);align-items:center;gap:14px;padding:14px 18px;border-bottom:1px solid #f4eee8;cursor:pointer}.efficiency-compare:hover{background:#fffbf6}
.compare-name b,.compare-name span{display:block}.compare-name span{margin-top:3px;color:var(--eff-muted);font-size:12px}.compare-track{height:10px;border-radius:6px;background:#f2ece6;overflow:hidden}.compare-track i{display:block;height:100%;min-width:4px;border-radius:6px;background:linear-gradient(90deg,#b98449,#7f5428)}
.compare-metrics{display:flex;gap:14px;color:#746b63;font-size:12px}.compare-metrics .warn{color:#c6811d}.duration-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;padding:18px}.duration-summary div{padding:16px 12px;border-radius:10px;background:#faf6f1}.duration-summary span,.duration-summary strong{display:block}.duration-summary span{color:var(--eff-muted);font-size:12px}.duration-summary strong{margin-top:7px;font-size:18px}
.efficiency-trend{height:180px;display:flex;align-items:flex-end;gap:5px;padding:12px 18px 28px}.efficiency-trend div{position:relative;display:flex;align-items:flex-end;flex:1;height:100%}.efficiency-trend i{display:block;width:100%;min-height:6px;border-radius:4px 4px 0 0;background:#b88148}.efficiency-trend small{position:absolute;left:50%;bottom:-21px;transform:translateX(-50%);font-size:9px;color:#a2968b;white-space:nowrap}.efficiency-note{margin:0;padding:10px 18px 16px;color:var(--eff-muted);font-size:12px}
.efficiency-orders>header .el-input{width:320px}.efficiency-orders>.el-pagination{display:flex;justify-content:flex-end;padding:10px 14px}.efficiency-timeline>h3{margin:0}.efficiency-timeline>p{margin:4px 0 20px;color:var(--eff-muted)}.timeline-card{display:flex;flex-direction:column;gap:4px;padding:10px 12px;border:1px solid var(--eff-line);border-radius:9px;background:#fff}.timeline-card span,.timeline-card small{color:var(--eff-muted)}.timeline-card p{margin:5px 0 0;padding-top:7px;border-top:1px dashed var(--eff-line)}
@media(max-width:1280px){.efficiency-kpis{grid-template-columns:repeat(3,1fr)}.efficiency-grid.two,.efficiency-grid.three{grid-template-columns:1fr}.efficiency-compare{grid-template-columns:110px minmax(100px,1fr)}.compare-metrics{grid-column:1/-1}}
@media(max-width:760px){.efficiency-hero{align-items:flex-start;gap:12px;flex-direction:column}.efficiency-kpis{grid-template-columns:repeat(2,1fr)}.efficiency-filters>*{width:100%!important}.efficiency-compare{grid-template-columns:1fr}.efficiency-orders>header{align-items:flex-start;gap:10px;flex-direction:column}.efficiency-orders>header .el-input{width:100%}}

/* 首页工单效能诊断 v2 */
.home-factory-efficiency-section .factory-efficiency{min-width:0}
.efficiency-hero{align-items:flex-start}.efficiency-hero h2{margin-bottom:6px}.efficiency-hero .el-tag{margin-top:10px}.efficiency-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.efficiency-view-tabs{display:flex;gap:8px;overflow-x:auto;padding:2px 1px 4px}.efficiency-view-tabs button{flex:none;border:1px solid var(--eff-line);border-radius:10px;background:#fff;padding:10px 15px;color:#65584e;cursor:pointer}.efficiency-view-tabs button.active{background:#8b5a24;border-color:#8b5a24;color:#fff}.efficiency-view-tabs small{margin-left:6px;opacity:.75}
.efficiency-filters>.el-select{width:145px}.efficiency-filters>.el-date-editor{width:248px}.efficiency-quick{display:flex;gap:4px}
.efficiency-kpis button.clickable{cursor:pointer}.efficiency-kpis button.warning{border-top:3px solid #d89b2b}.efficiency-kpis button.danger{border-top:3px solid #d55d55}
.efficiency-panel>header>div>p,.efficiency-panel>header>p{margin:3px 0 0;color:var(--eff-muted)}
.efficiency-compare{grid-template-columns:140px minmax(120px,1fr) repeat(4,max-content);cursor:default}.efficiency-compare>div:first-child{display:flex;flex-direction:column;gap:3px}.efficiency-compare small{color:var(--eff-muted)}
.efficiency-rate{height:8px;border-radius:8px;background:#f1e7db;overflow:hidden}.efficiency-rate i{display:block;height:100%;border-radius:8px;background:#aa6d2c}
.efficiency-risk{display:flex;width:calc(100% - 32px);justify-content:space-between;margin:12px 16px;padding:13px 14px;border:1px solid #eadfd4;border-radius:10px;background:#fff;text-align:left;cursor:pointer}.efficiency-risk.danger{border-left:4px solid #d55d55}.efficiency-risk.warning{border-left:4px solid #d89b2b}.efficiency-risk.info{border-left:4px solid #6f8fb5}.efficiency-risk span{color:#8b5a24}
.efficiency-trend-summary{display:flex;justify-content:space-between;padding:14px 18px;color:var(--eff-muted);font-size:12px}
.efficiency-risk-panel{grid-column:1/-1}.efficiency-dual-trend{height:190px;display:flex;align-items:flex-end;gap:3px;padding:18px;overflow-x:auto}.efficiency-dual-trend>button{display:flex;align-items:flex-end;gap:1px;flex:1;min-width:8px;height:100%;padding:0;border:0;background:transparent;cursor:pointer}.efficiency-dual-trend i{display:block;width:50%;min-height:0;border-radius:3px 3px 0 0}.efficiency-dual-trend .complete{background:#a96b2b}.efficiency-dual-trend .backlog{background:#668daf}.efficiency-dual-trend.chart-bar i{width:48%}
.efficiency-line-chart{position:relative;min-width:0;padding:16px 18px 4px;overflow-x:auto}.efficiency-line-chart svg{display:block;width:100%;min-width:760px;height:180px;overflow:visible;border-bottom:1px solid #eadfd4}.efficiency-line-chart polyline{fill:none;stroke-width:6;vector-effect:non-scaling-stroke}.efficiency-line-chart .complete-line{stroke:#a96b2b}.efficiency-line-chart .backlog-line{stroke:#668daf}.efficiency-line-hit{display:flex;min-width:760px;justify-content:space-between;gap:3px}.efficiency-line-hit>div{display:flex;min-width:22px;flex:1;flex-direction:column;gap:2px}.efficiency-line-hit button{overflow:hidden;padding:2px 1px;border:0;background:transparent;color:#85776b;font-size:9px;text-overflow:ellipsis;white-space:nowrap;cursor:pointer}.efficiency-line-hit button:hover{color:#8b5a24;text-decoration:underline}
.efficiency-flow{display:flex;min-width:0;padding:16px;overflow-x:auto}.efficiency-flow button{display:flex;min-width:155px;flex:1 0 155px;min-height:176px;margin-left:-18px;padding:17px 22px 17px 34px;border:0;background:#f6eee4;clip-path:polygon(0 0,calc(100% - 20px) 0,100% 50%,calc(100% - 20px) 100%,0 100%,20px 50%);flex-direction:column;gap:7px;text-align:left;cursor:pointer}.efficiency-flow button:first-child{margin-left:0;padding-left:20px;clip-path:polygon(0 0,calc(100% - 20px) 0,100% 50%,calc(100% - 20px) 100%,0 100%)}.efficiency-flow button:nth-child(even){background:#f2f6fb}.efficiency-flow button:hover{filter:brightness(.97)}.efficiency-flow button i{font-style:normal;color:#b88148;font-weight:700}.efficiency-flow button span,.efficiency-flow button small{color:var(--eff-muted)}.efficiency-flow button.warning{background:#fff1d8}.efficiency-flow button.danger{background:#fde6e3}
.efficiency-flow-summary,.efficiency-quality-summary,.efficiency-timeline-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:8px;padding:12px 16px}.efficiency-flow-summary span,.efficiency-quality-summary span,.efficiency-timeline-summary span{display:flex;flex-direction:column;gap:3px;padding:10px 12px;border-radius:8px;background:#faf5ef;color:var(--eff-muted)}.efficiency-flow-summary b,.efficiency-quality-summary b,.efficiency-timeline-summary b{color:var(--eff-ink)}
.efficiency-stage-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;padding:16px}.efficiency-stage-stats button{display:flex;justify-content:space-between;align-items:center;padding:15px;border:1px solid #eadfd4;border-radius:10px;background:#fff;cursor:pointer}.efficiency-stage-stats strong{font-size:22px;color:#8b5a24}
.efficiency-big-stats{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;padding:16px}.efficiency-big-stats div{display:flex;flex-direction:column;padding:15px;border-radius:10px;background:#faf5ef}.efficiency-big-stats strong{font-size:26px;color:#8b5a24}.efficiency-big-stats span{color:var(--eff-muted)}
.efficiency-reason{display:flex;width:100%;justify-content:space-between;padding:12px 18px;border:0;border-bottom:1px solid #f1e9e1;background:#fff;text-align:left;cursor:pointer}.efficiency-reason:hover{background:#fffaf4}.efficiency-order-list{overflow:auto}.efficiency-order-tools{display:flex;align-items:center;justify-content:flex-end;gap:8px}.efficiency-order-tools .el-input{width:300px}.efficiency-order-list>.el-pagination{justify-content:flex-end;padding:12px}
.module-size-small{min-height:180px}.module-size-medium{min-height:260px}.module-size-large{min-height:340px}.efficiency-grid.two>.module-size-small{grid-column:auto}.efficiency-grid.two>.module-size-medium{grid-column:auto}.efficiency-grid.two>.module-size-large{grid-column:1/-1}.efficiency-setting-list,.efficiency-setting-columns{display:flex;flex-direction:column;gap:7px;max-height:220px;overflow:auto}.efficiency-setting-list>div,.efficiency-setting-columns>div{display:flex;align-items:center;gap:10px;padding:8px 10px;border:1px solid #eadfd4;border-radius:8px;background:#fff}.efficiency-setting-list .drag-handle{cursor:grab;color:#a96b2b}.efficiency-setting-list .el-checkbox,.efficiency-setting-columns .el-checkbox{flex:1}.efficiency-setting-list .el-select{width:100px}.efficiency-setting-options{display:grid;grid-template-columns:80px 1fr;gap:10px;align-items:center;margin-top:16px}
@media(max-width:1280px){.efficiency-compare{grid-template-columns:130px minmax(120px,1fr) repeat(2,max-content)}.efficiency-flow button{flex-basis:150px}}
@media(max-width:760px){.efficiency-actions{justify-content:flex-start}.efficiency-view-tabs{width:100%}.efficiency-quick{width:100%}.efficiency-quick .el-button{flex:1;margin:0}.efficiency-grid.two{grid-template-columns:1fr}.efficiency-compare{grid-template-columns:1fr}.efficiency-order-list>header{align-items:flex-start;flex-direction:column}.efficiency-order-tools{width:100%;align-items:stretch;flex-direction:column}.efficiency-order-tools .el-input{width:100%}.efficiency-big-stats{grid-template-columns:1fr 1fr}}

/* 暖时光供应链四模块与数据看板 */
.supply-module-shell{display:grid;grid-template-columns:154px minmax(0,1fr);min-height:calc(100vh - 58px);background:#fbf8f4;overflow-x:hidden}
.supply-module-nav{display:flex;flex-direction:column;gap:10px;padding:20px 14px;border-right:1px solid #eadfd3;background:#fffdfb}
.supply-module-nav button{appearance:none;display:flex;width:100%;padding:14px 12px;border:1px solid transparent;border-radius:11px;background:transparent;color:#655a50;text-align:left;cursor:pointer;transition:.18s}
.supply-module-nav button:hover{background:#faf4ec}.supply-module-nav button.active{border-color:#d8b58d;background:#f8eee2;color:#754817;box-shadow:inset 3px 0 #855623}
.supply-module-nav b{font-size:15px}.supply-module-nav span{color:#9b8c7e;font-size:12px}.supply-module-content{min-width:0;overflow-x:hidden}
.sales-period-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:0 4px;margin-bottom:12px}.sales-period-toolbar .distributor-period-tabs{flex:1;margin:0}.sales-period-toolbar .el-tabs__header{margin:0}.sales-row-actions{display:flex;align-items:center;gap:4px;white-space:nowrap}.field-sort{display:inline-flex;gap:2px}.field-options{display:flex;flex-direction:column;gap:8px;width:100%}.field-options>div{display:flex;align-items:center;gap:8px}.field-options .el-input{flex:1}
.distributor-data-dashboard{min-width:0;padding:18px 20px 30px;color:#342d27}
.distributor-data-head{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:19px 20px;border:1px solid #eadfd3;border-radius:14px;background:#fffdfb;box-shadow:0 8px 24px rgba(95,65,38,.05)}
.distributor-data-head h2{margin:0 0 5px;font-size:21px}.distributor-data-head p{margin:0;color:#998d82;font-size:13px}.distributor-data-head-actions{display:flex;gap:8px;flex-wrap:wrap}
.distributor-period-tabs{margin-top:16px;padding:0 18px;border:1px solid #eadfd3;border-radius:13px;background:#fff}
.distributor-data-filter{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:14px;padding:13px 14px;border:1px solid #eadfd3;border-radius:12px;background:#fff}
.distributor-data-filter>.el-input{width:210px}.distributor-data-filter>.el-select{width:160px}.distributor-data-filter>span{margin-left:auto;color:#8e8175;font-size:13px}
.distributor-data-table-wrap{width:100%;margin-top:14px;border-radius:12px;overflow-x:auto;overflow-y:hidden;background:#fff;-webkit-overflow-scrolling:touch}
.distributor-data-table-wrap .el-table{min-width:100%;--el-table-header-bg-color:#f7f1ea;--el-table-row-hover-bg-color:#fff9f2}
.distributor-data-table-wrap .el-input__wrapper{box-shadow:0 0 0 1px #e6d9cc inset}.distributor-period-row-focus td.el-table__cell{background:#fff1d9!important}
.distributor-data-dashboard>.el-pagination{display:flex;justify-content:flex-end;margin-top:14px}.distributor-data-rule-note{margin:14px 0 0;padding:12px 14px;border-left:4px solid #b8834d;border-radius:7px;background:#fff9f1;color:#806f60;font-size:12px;line-height:1.7}
.platform-source-notice{margin-top:14px}.platform-data-row-focus td.el-table__cell{background:#fff1d9!important}.platform-mobile-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.platform-mobile-fields>div{min-width:0;padding:9px;border-radius:8px;background:#faf6f1}.platform-mobile-fields span,.platform-mobile-fields b{display:block;overflow-wrap:anywhere}.platform-mobile-fields span{margin-bottom:4px;color:#8d8075;font-size:11px}.platform-mobile-fields b{color:#352d27;font-size:14px;line-height:1.45}
.period-field-actions{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px;color:#8e8175}.period-field-button-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;width:216px;flex:none}.period-field-button-row .el-button{display:inline-flex;align-items:center;justify-content:center;width:100%;height:32px;margin:0;padding:0 10px;white-space:nowrap}.period-field-list{display:grid;gap:8px}.period-field-list>div{display:flex;align-items:center;gap:10px;padding:10px 11px;border:1px solid #eadfd3;border-radius:9px;background:#fff}.period-field-list>div>span{color:#b4a699;cursor:grab}.period-field-list .el-checkbox{flex:1}
.distributor-period-mobile{display:none}.period-mobile-groups{display:grid;grid-template-columns:1fr 1fr;gap:10px}.period-mobile-groups section{padding:10px;border-radius:9px;background:#faf6f1}.period-mobile-groups h4{margin:0 0 8px}.period-mobile-groups p{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:0}.period-mobile-groups span,.period-mobile-groups b{display:block}.period-mobile-groups span{color:#8d8075;font-size:11px}.period-mobile-groups b{margin-top:3px;color:#352d27;font-size:16px}.period-mobile-summary{display:flex;gap:12px;flex-wrap:wrap;margin:10px 0;color:#7c6e62;font-size:12px}
@media(max-width:900px){
  .supply-module-shell{display:block}.supply-module-nav{position:sticky;top:0;z-index:10;display:grid;grid-template-columns:1fr 1fr;padding:10px 12px;border-right:0;border-bottom:1px solid #eadfd3}.supply-module-nav button{align-items:center;padding:10px;text-align:center}.supply-module-nav button.active{box-shadow:inset 0 -3px #855623}.supply-module-nav span{display:none}.sales-period-toolbar{align-items:flex-start;flex-direction:column}.sales-period-toolbar .distributor-data-head-actions{width:100%;flex-wrap:wrap}.sales-row-actions{white-space:normal;flex-wrap:wrap}.field-options>div{align-items:flex-start;flex-wrap:wrap}
  .jd-module-nav{grid-template-columns:1fr}.distributor-data-dashboard{padding:12px}.distributor-data-head{align-items:flex-start;flex-direction:column;padding:15px}.distributor-data-head-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));width:100%}.distributor-data-head-actions .el-button{width:100%;min-height:42px;margin:0;white-space:normal}.distributor-data-filter{align-items:stretch;flex-direction:column}.distributor-data-filter>*{width:100%!important}.distributor-data-filter>span{margin-left:0;text-align:right}.period-field-button-row{width:100%}
  .distributor-data-table-wrap{display:none}.distributor-period-mobile{display:grid;gap:12px;margin-top:14px}.distributor-period-mobile>article{padding:14px;border:1px solid #eadfd3;border-radius:12px;background:#fff}.distributor-period-mobile>article.focus{border-color:#d2a36e;box-shadow:0 0 0 2px #f4dfc6}.distributor-period-mobile article>header{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:11px}.distributor-period-mobile header strong,.distributor-period-mobile header span{display:block}.distributor-period-mobile header span{margin-top:3px;color:#918579;font-size:12px}.period-mobile-groups{grid-template-columns:1fr}.distributor-data-dashboard>.el-pagination{justify-content:center;overflow:hidden}.period-field-actions{align-items:flex-start;flex-direction:column}
}
@media(max-width:480px){.distributor-data-head-actions{grid-template-columns:1fr}.period-field-button-row{grid-template-columns:1fr}.period-mobile-groups p{grid-template-columns:repeat(3,minmax(0,1fr))}.platform-mobile-fields{grid-template-columns:1fr}.distributor-data-dashboard .el-dialog{width:calc(100vw - 20px)!important}}
@media(max-width:900px){.tmall-sales-dashboard{margin:12px;padding:14px}.tmall-summary-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.tmall-period-toolbar{padding:0 10px}.tmall-period-toolbar>.el-date-editor,.tmall-period-toolbar>.el-select{width:100%!important}.tmall-sales-trend header{align-items:flex-start;flex-direction:column}}

/* 战况指挥：我的汇总 / 新品孵化三平台字段配置 */
.war-room-home{max-width:1100px;margin:0 auto}.war-room-home-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}.war-room-home-head h2{margin:0 0 5px;font-size:22px;color:#1f2f46}.war-room-home-head p{margin:0;color:#8a9aae;font-size:13px}.war-room-business-grid .home-business-icon{display:flex;align-items:center;justify-content:center;font-size:18px;font-weight:700}.war-room-tier-shell{display:flex;flex-direction:column;align-items:center;justify-content:center;max-width:900px;min-height:360px;margin:0 auto;text-align:center}.war-room-tier-shell h2{margin:16px 0 8px;color:#1f2f46}.war-room-tier-shell>p{margin:0;color:#8a9aae}.war-room-tier-mark{display:flex;align-items:center;justify-content:center;width:58px;height:58px;border-radius:16px;background:#eef5ff;color:#2765c5;font-size:22px;font-weight:700}.war-single-module-tabs>.el-tabs__header{display:none}
.tmall-module-nav button.active{border-color:#d8b58d;background:#f8eee2;color:#754817}.tmall-sales-dashboard{min-width:0;margin:18px 20px 30px;padding:20px;border:1px solid #eadfd3;border-radius:14px;background:#fffdfb;box-shadow:0 8px 24px rgba(95,65,38,.05)}.tmall-sales-dashboard .section-title{margin:0 0 5px;color:#342d27;font-size:21px}.tmall-sales-dashboard .module-slogan{margin-bottom:16px;color:#998d82;font-size:13px}.tmall-period-toolbar{margin:16px 0 14px;padding:0 14px;border:1px solid #eadfd3;border-radius:13px;background:#fff}.tmall-summary-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:14px}.tmall-summary-kpis article{padding:15px;border:1px solid #eadfd3;border-radius:12px;background:#fff}.tmall-summary-kpis span,.tmall-summary-kpis strong{display:block}.tmall-summary-kpis span{color:#8e8175;font-size:12px}.tmall-summary-kpis strong{margin-top:7px;color:#3b2d22;font-size:20px}.tmall-sales-trend{margin-bottom:14px;padding:14px 16px;border:1px solid #eadfd3;border-radius:12px;background:#fff}.tmall-sales-trend header{display:flex;align-items:center;justify-content:space-between;gap:10px}.tmall-sales-trend header span{color:#998d82;font-size:12px}.tmall-sales-bars{display:flex;align-items:flex-end;gap:7px;height:132px;margin-top:12px;padding:0 2px 24px}.tmall-sales-bars>div{position:relative;display:flex;align-items:flex-end;flex:1;min-width:18px;height:100%}.tmall-sales-bars i{display:block;width:100%;min-height:6px;border-radius:5px 5px 0 0;background:linear-gradient(180deg,#d0a36b,#855623)}.tmall-sales-bars small{position:absolute;right:0;bottom:-21px;left:0;overflow:hidden;color:#998d82;font-size:9px;line-height:1.1;text-align:center;text-overflow:ellipsis;white-space:nowrap}
.war-platform-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:10px}
.war-platform-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}
.war-platform-actions .el-button{margin-left:0}.war-readonly{color:#aaa;font-size:12px}.war-formula-readonly{color:#c84242;font-weight:700}.war-formula-form{display:inline-flex;align-items:center;min-height:32px;padding:0 12px;border:1px solid #f3caca;border-radius:4px;background:#fff8f8}
.new-incubation-key-metrics{display:flex;align-items:center;justify-content:center;gap:18px;flex:1;min-width:360px;color:#f56c6c;font-size:13px;line-height:32px;white-space:nowrap}.new-incubation-key-metrics strong{color:#f56c6c;font-weight:700}
.experience-standard-dialog{max-width:1380px}
.experience-standard-dialog-footer{display:flex;align-items:center;justify-content:space-between;width:100%}
.tmall-row-actions,.war-incubation-actions{display:inline-flex;align-items:center;justify-content:flex-start;gap:8px;min-width:max-content;white-space:nowrap}.tmall-row-actions .el-button,.war-incubation-actions .el-button{flex:0 0 auto;margin-left:0;padding-right:2px;padding-left:2px;white-space:nowrap}.tmall-module-shell .el-table-fixed-column--right .cell{white-space:nowrap}.tmall-module-shell .war-summary-actions-column.el-table-fixed-column--right{position:relative;z-index:2;pointer-events:auto}.tmall-module-shell .war-summary-actions-column .cell{display:flex;min-width:max-content;pointer-events:auto}
.tmall-module-shell .ym-managed-table .el-table__header .el-table__cell{padding-top:8px;padding-bottom:8px}.tmall-module-shell .ym-managed-table .el-table__body .el-table__cell{padding-top:7px;padding-bottom:7px}.tmall-module-shell .ym-managed-table .el-input__wrapper,.tmall-module-shell .ym-managed-table .el-select__wrapper{min-height:28px}.tmall-add-record-button{color:#fff!important;background:#409eff!important;border-color:#409eff!important}
.war-cell-state{display:block;height:14px;margin-top:2px;color:#9a8b7e;font-size:10px;line-height:14px;text-align:right}
.war-field-config-tip{margin-bottom:14px;padding:10px 12px;border-left:4px solid #9a6a3c;border-radius:7px;background:#fbf5ee;color:#75675b;font-size:12px;line-height:1.65}
.war-field-config-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px;font-weight:600}
.war-field-config-item{display:flex;align-items:center;gap:8px;min-height:48px;margin-bottom:8px;padding:8px 9px;border:1px solid #eadfd3;border-radius:9px;background:#fff}
.war-field-config-item .el-checkbox{min-width:0;flex:1}.war-field-config-item .el-checkbox__label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.war-field-drag{color:#b7a89b;cursor:grab}.war-field-type{width:58px;color:#9b8e83;font-size:11px;text-align:center}
.war-field-readonly-tip{margin-top:12px;color:#999;font-size:12px}
@media(max-width:760px){.war-platform-toolbar{align-items:stretch;flex-direction:column}.new-incubation-key-metrics{justify-content:flex-start;gap:10px;min-width:0;white-space:normal;flex-wrap:wrap}.war-platform-actions{display:grid;grid-template-columns:minmax(0,1fr);justify-content:stretch;width:calc(100vw - 250px);min-width:120px;max-width:100%}.war-platform-actions .el-button{width:100%;min-height:40px;white-space:normal}.war-platform-actions span{grid-column:1/-1;text-align:right}.war-field-config-item{align-items:flex-start;flex-wrap:wrap}.war-field-config-item .el-checkbox{min-width:180px}.war-field-type{width:auto}.el-drawer:has(.war-field-config){width:min(100vw,520px)!important}}

/* 可配置业务列表：统一字段、记录、个人显示配置，可嵌入各业务模块。 */
.configurable-center,.configurable-runtime{min-height:calc(100vh - 58px);padding:20px;background:#faf8f5;color:#342d27}.configurable-center-head,.configurable-list-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:19px 20px;border:1px solid #eadfd3;border-radius:14px;background:#fffdfb;box-shadow:0 8px 24px rgba(95,65,38,.05)}.configurable-center-head h2,.configurable-list-head h2{margin:0 0 5px;font-size:21px}.configurable-center-head p,.configurable-list-head p{margin:0;color:#998d82;font-size:13px;line-height:1.6}.configurable-center-body{display:grid;grid-template-columns:250px minmax(0,1fr);gap:14px;margin-top:14px}.configurable-center-body aside{display:flex;flex-direction:column;gap:8px;min-height:260px;padding:10px;border:1px solid #eadfd3;border-radius:13px;background:#fff}.configurable-center-body aside>button{display:block;width:100%;padding:13px 12px;border:1px solid transparent;border-radius:10px;background:#fff;text-align:left;cursor:pointer}.configurable-center-body aside>button:hover{background:#fcf6ef}.configurable-center-body aside>button.active{border-color:#d9b287;background:#fff3e6}.configurable-center-body aside b,.configurable-center-body aside span{display:block}.configurable-center-body aside span{margin-top:4px;color:#9b8c7e;font-size:11px}.configurable-center-body aside>button div{display:flex;gap:4px;margin-top:7px}.configurable-center-body main{min-width:0}.configurable-list{display:flex;flex-direction:column;gap:14px}.configurable-list-head{padding:18px}.configurable-list-actions{display:flex;gap:8px;flex-wrap:wrap}.configurable-list-toolbar{display:flex;align-items:center;gap:13px;padding:12px 14px;border:1px solid #eadfd3;border-radius:12px;background:#fff}.configurable-list-toolbar .el-input{width:360px;max-width:100%}.configurable-list-toolbar span{margin-left:auto;color:#8e8175;font-size:12px}.configurable-list-table{overflow:auto;border:1px solid #eadfd3;border-radius:12px;background:#fff}.configurable-list-table .el-table{min-width:100%;--el-table-header-bg-color:#f7f1ea;--el-table-row-hover-bg-color:#fff9f2}.configurable-list-pagination{display:flex;justify-content:flex-end}.configurable-list-form .el-input,.configurable-list-form .el-select,.configurable-list-form .el-date-editor{width:100%}.configurable-list-note{margin:0 0 13px;padding:10px 12px;border-left:4px solid #a9753d;border-radius:7px;background:#fff8ee;color:#7b6b5c;font-size:12px;line-height:1.7}.configurable-visible-item{display:flex;align-items:center;gap:7px;min-height:44px;padding:7px 0;border-bottom:1px solid #f0e9e1}.configurable-visible-item .el-checkbox{flex:1;min-width:0}.configurable-visible-item>span{width:65px;color:#9b8c7e;font-size:11px}.configurable-visible-item .el-button{margin-left:0;padding:4px}.configurable-field-admin{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 0;border-bottom:1px solid #eee5db}.configurable-field-admin b,.configurable-field-admin span{display:block}.configurable-field-admin span{margin-top:4px;color:#998d82;font-size:12px}.configurable-field-admin>div:last-child{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:2px}.configurable-field-admin .el-button{margin-left:0;padding:4px}.configurable-runtime{padding:0;background:transparent}
@media(max-width:900px){.configurable-center,.configurable-runtime{padding:12px}.configurable-center-body{grid-template-columns:1fr}.configurable-center-body aside{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.configurable-list-toolbar{align-items:stretch;flex-direction:column}.configurable-list-toolbar .el-input{width:100%}.configurable-list-toolbar span{margin-left:0;text-align:right}.configurable-list-head,.configurable-center-head{align-items:flex-start;flex-direction:column}.configurable-list-actions{width:100%}.configurable-list-actions .el-button{flex:1;margin:0;min-height:40px}.configurable-list-pagination{justify-content:center;overflow:hidden}}
@media(max-width:520px){.configurable-center-body aside{grid-template-columns:1fr}.configurable-visible-item{align-items:flex-start;flex-wrap:wrap}.configurable-visible-item .el-checkbox{flex-basis:65%}.configurable-field-admin{align-items:flex-start;flex-direction:column}.configurable-field-admin>div:last-child{justify-content:flex-start}}

/* 全工作台统一“显示字段”入口、账号设置抽屉和附件字段。 */
[data-ym-field-hidden]{display:none!important}
.ym-display-fields-button,.el-button.ym-display-fields-button{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-width:104px;height:32px;box-sizing:border-box;margin-left:0;padding:0 13px;border:1px solid #d8c8b8;border-radius:8px;background:#fff;color:#5f4b3b;font-size:13px;font-weight:500;line-height:30px;white-space:nowrap;cursor:pointer;transition:border-color .16s,background .16s,color .16s,box-shadow .16s}
.ym-display-fields-button::before{content:'▦';color:#9a6a3c;font-size:15px;line-height:1}.ym-display-fields-button:hover,.el-button.ym-display-fields-button:hover{border-color:#b98a5b;background:#fff8ef;color:#8a5728;box-shadow:0 3px 10px rgba(120,77,37,.08)}.ym-display-fields-button:focus-visible{outline:2px solid #d9ad7f;outline-offset:2px}
.ym-list-fields-auto-bar{display:flex;align-items:center;justify-content:flex-end;gap:12px;min-height:38px;padding:3px 0}.ym-list-fields-auto-bar>span{color:#9b8e82;font-size:11px}
.ym-display-fields-note{margin:0 0 12px;padding:10px 12px;border-left:4px solid #9a6a3c;border-radius:7px;background:#fff8ee;color:#75675b;font-size:12px;line-height:1.65}.ym-display-fields-filter{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:10px;margin-bottom:9px}.ym-display-fields-filter>span{color:#8e8175;font-size:12px;white-space:nowrap}.ym-display-fields-select{display:flex;justify-content:flex-end;margin-bottom:5px}.ym-display-fields-list{max-height:calc(100vh - 270px);overflow:auto}.ym-display-field-row{display:flex;align-items:center;gap:7px;min-height:44px;padding:4px 3px;border-bottom:1px solid #f0e9e1;background:#fff}.ym-display-field-row:hover{background:#fffaf4}.ym-field-drag{flex:0 0 auto;color:#b4a699;cursor:grab}.ym-display-field-row .el-checkbox{min-width:0}.ym-display-field-row .el-checkbox__label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ym-display-field-spacer{flex:1}.ym-display-field-row .el-button{margin-left:0;padding:4px}.ym-display-fields-drawer .el-drawer__footer{border-top:1px solid #eee5db;padding-top:14px}
.configurable-attachment-field{display:grid;gap:8px;width:100%}.configurable-attachment-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.configurable-attachment-actions .el-button{margin-left:0}.configurable-attachment-actions small{color:#9b8c7e}.configurable-attachment-item{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:8px;padding:8px 10px;border:1px solid #eadfd3;border-radius:8px;background:#fffaf5}.configurable-attachment-item>button{overflow:hidden;padding:0;border:0;background:transparent;color:#4f76a8;cursor:pointer;text-align:left;text-overflow:ellipsis;white-space:nowrap}.configurable-attachment-item>span{color:#9b8c7e;font-size:11px}
@media(max-width:620px){.ym-list-fields-auto-bar{align-items:flex-end;flex-direction:column;gap:5px}.ym-list-fields-auto-bar>span{display:none}.ym-display-fields-filter{grid-template-columns:1fr auto}.ym-display-fields-filter>span{grid-column:1/-1;text-align:right}.ym-display-fields-drawer{width:100%!important}.configurable-attachment-item{grid-template-columns:minmax(0,1fr) auto}.configurable-attachment-item>span{display:none}}

/* 作战室统一作战记录 */
.battle-record-panel{min-height:160px}.battle-record-toolbar,.battle-record-filters{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.battle-record-toolbar{margin-bottom:10px}.battle-record-toolbar>b{font-size:16px}.battle-record-toolbar span{color:#8f8277;font-size:12px}.battle-record-stats{display:grid;grid-template-columns:repeat(5,minmax(100px,1fr));gap:8px;margin:10px 0}.battle-record-stats button{padding:9px;border:1px solid #eadfd3;border-radius:8px;background:#fff;text-align:left;cursor:pointer}.battle-record-stats b,.battle-record-stats span{display:block}.battle-record-stats b{font-size:18px;color:#704718}.battle-record-stats span{margin-top:2px;color:#8f8277;font-size:11px}.battle-record-filters{padding:10px;border:1px solid #eadfd3;border-radius:9px;background:#fff}.battle-record-filters .el-input{width:240px}.battle-record-filters .el-select{width:120px}.battle-record-timeline{margin:16px 0 0}.battle-record-item{padding:12px 14px;border:1px solid #eadfd3;border-radius:10px;background:#fff}.battle-record-item header{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.battle-record-item header>div{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.battle-record-item h4{margin:9px 0 5px;font-size:14px}.battle-record-item p{margin:4px 0;white-space:pre-wrap;color:#61574e;font-size:13px;line-height:1.65}.battle-record-result{padding:7px 9px;border-left:3px solid #8cba79;background:#f5faef}.battle-record-changes{display:flex;gap:5px;flex-wrap:wrap;margin-top:8px}.battle-record-changes span{padding:3px 6px;border-radius:4px;background:#f6f0e9;color:#7d6b5b;font-size:11px}.battle-record-files,.battle-record-file-edit{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}.battle-record-files a,.battle-record-file-edit span{color:#5276a8;font-size:12px}.battle-record-file-edit span{display:block;width:100%}
@media(max-width:760px){.battle-record-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.battle-record-filters{align-items:stretch;flex-direction:column}.battle-record-filters .el-input,.battle-record-filters .el-select{width:100%}.battle-record-item header{flex-direction:column}.battle-record-item header>div:last-child{width:100%}}

/* 阵地战场：可配置推广快捷入口 */
.position-promotion-shortcuts{background:#f8faff;border:1px solid #e3e8f7;border-radius:8px;padding:12px 16px;margin-bottom:12px}
.position-promotion-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px}
.position-promotion-head>div{display:flex;align-items:center;gap:10px}.position-promotion-head span{font-size:12px;color:#909399}
.position-promotion-list{display:flex;flex-direction:column;gap:6px}.position-promotion-item{display:flex;align-items:center;gap:8px;min-height:34px;background:#fff;border:1px solid #ebeef5;border-radius:6px;padding:2px 8px}
.position-promotion-url{flex:1;min-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#909399;font-size:12px}
@media(max-width:760px){.position-promotion-head,.position-promotion-item{align-items:flex-start;flex-wrap:wrap}.position-promotion-url{flex-basis:100%}}
.branding-settings { max-width:1180px; margin:0 auto; }
.branding-settings-head p { color:#7b8794; margin:6px 0 20px; }
.branding-brand-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
.branding-brand-card { border:1px solid #e2e8f0; border-radius:12px; padding:20px; background:#fff; }
.branding-brand-card h4 { margin:0 0 16px; font-size:18px; }
.branding-assets { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
.branding-assets article { display:flex; flex-direction:column; gap:10px; min-width:0; }
.branding-assets article>span { font-weight:600; color:#475569; }
.branding-assets small { color:#94a3b8; }
.branding-preview { height:150px; border:1px dashed #cbd5e1; border-radius:10px; background:#f8fafc; display:flex; align-items:center; justify-content:center; overflow:hidden; padding:12px; }
.branding-preview img { max-width:100%; max-height:100%; object-fit:contain; }
.branding-preview.is-favicon img { width:64px; height:64px; }
@media(max-width:900px){.branding-brand-grid{grid-template-columns:1fr}.branding-assets{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.branding-assets{grid-template-columns:1fr}}

/* 伊梦财务·提成提报 */
.finance-commission-toolbar{display:flex;align-items:center;gap:16px;padding:14px 16px}.finance-commission-toolbar>div{display:flex;align-items:center;gap:8px}.finance-commission-toolbar label,.finance-commission-rule span{color:#7b9294;font-size:12px}.finance-commission-toolbar .el-date-editor{width:150px}.finance-commission-toolbar .el-select{width:150px}.finance-commission-rule{flex:1;min-width:240px}.finance-commission-rule b{color:#365d61;font-size:13px}.finance-commission-grid{display:grid;grid-template-columns:285px minmax(0,1fr);gap:14px;margin-top:14px}.finance-commission-batches{min-width:0;padding:0;overflow:hidden}.finance-commission-batches .finance-section-head{padding:16px}.finance-commission-batches>button{appearance:none;display:block;width:100%;padding:14px 16px;border:0;border-top:1px solid #e1eceb;background:#fff;text-align:left;cursor:pointer}.finance-commission-batches>button:hover{background:#f4faf9}.finance-commission-batches>button.active{background:#e9f6f4;box-shadow:inset 4px 0 #147c83}.finance-commission-batches>button>div{display:flex;align-items:center;justify-content:space-between;gap:8px}.finance-commission-batches>button strong,.finance-commission-batches>button span{display:block}.finance-commission-batches>button>div span{color:#82999b;font-size:12px}.finance-commission-batches>button>p{display:flex;align-items:center;justify-content:space-between;margin:10px 0 6px;color:#73898b;font-size:12px}.finance-commission-batches>button>p b{color:#176f75;font-size:16px}.finance-commission-batches>button>small{color:#96a7a8}.finance-commission-detail{min-width:0;padding:0 0 16px;overflow:hidden}.finance-commission-detail>.finance-section-head{padding:16px 18px}.finance-commission-detail>.el-alert{margin:0 18px 12px;width:auto}.finance-commission-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid #e1eceb;border-bottom:1px solid #e1eceb}.finance-commission-metrics>div{padding:13px 16px;border-right:1px solid #e1eceb}.finance-commission-metrics>div:last-child{border-right:0}.finance-commission-metrics span,.finance-commission-metrics b{display:block}.finance-commission-metrics span{color:#82999b;font-size:12px}.finance-commission-metrics b{margin-top:5px;color:#31565a;font-size:15px}.finance-commission-table{margin:0 18px;width:calc(100% - 36px)}.finance-commission-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 18px 0}.finance-commission-actions>span{color:#7e9294;font-size:12px}.finance-commission-actions>div{display:flex;gap:8px}.finance-commission-audit{margin:16px 18px 0;padding:12px 14px;border:1px solid #dce9e8;border-radius:10px;background:#f8fbfb}.finance-commission-audit summary{color:#477276;cursor:pointer}.finance-commission-audit>div{display:grid;grid-template-columns:100px 140px 1fr;gap:8px;padding:9px 0;border-top:1px solid #e5eeee;font-size:12px}.finance-commission-audit small{color:#8ca0a2}.finance-commission-money{color:#147c83}.finance-form-unit{margin-left:10px;color:#819396;font-size:12px}
.finance-commission-launch-form{margin-top:18px}.finance-commission-launch-form .el-form-item{margin-bottom:18px}.finance-launch-department-note{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;width:100%}.finance-launch-department-note span{padding:7px 9px;border:1px solid #dce9e8;border-radius:7px;background:#f7fbfa;color:#486b6e;font-size:11px;line-height:1.4}.finance-launch-department-note span.disabled{border-color:#eee;background:#fafafa;color:#aaa}
@media(max-width:1000px){.finance-commission-grid{grid-template-columns:1fr}.finance-commission-batches{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.finance-commission-batches .finance-section-head,.finance-commission-batches .el-empty{grid-column:1/-1}.finance-commission-toolbar{align-items:flex-start;flex-wrap:wrap}.finance-commission-rule{order:3;width:100%}}
@media(max-width:700px){.finance-commission-batches{grid-template-columns:1fr}.finance-commission-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.finance-commission-actions{align-items:stretch;flex-direction:column}.finance-commission-actions>div{display:grid;grid-template-columns:1fr}.finance-commission-audit>div{grid-template-columns:1fr}.finance-commission-toolbar>div{align-items:stretch;flex-direction:column;width:100%}.finance-commission-toolbar .el-date-editor,.finance-commission-toolbar .el-select{width:100%}}
.factory-todo-rule-entry { cursor: pointer; user-select: none; }
.factory-settings-entry.active { border-color: #d59a4f; background: #fff7e8; color: #c77816; }
.arsenal-overview-efficiency { display: block; margin-top: 24px; padding-top: 20px; border-top: 1px solid #eadfd4; }
.factory-todo-rule-options { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 4px 14px; width: 100%; }
.factory-todo-rule-options .el-checkbox { margin-right: 0; }
@media (max-width: 720px) {
  .factory-todo-rule-options { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
.account-avatar-name{display:flex;align-items:center;gap:9px;min-width:0}.account-avatar-name>span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.account-avatar-editor{display:flex;align-items:center;gap:16px;min-height:80px}.account-avatar-editor .el-avatar,.account-avatar-name .el-avatar{flex:0 0 auto;background:#e8eef8;color:#8a5a21;font-weight:700}.account-avatar-editor-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.account-avatar-editor-actions small{width:100%;color:#909399;line-height:1.5}
.design-group-panel{display:flex;flex-direction:column;gap:12px}.design-group-panel .el-radio-group{display:flex;flex-direction:column;align-items:flex-start}.design-assignee-group-row>td{background:#f7f1e8!important;border-bottom-color:#eadac5!important}.design-assignee-group-row .cell{min-height:38px;display:flex;align-items:center}.design-assignee-group-title{display:flex;align-items:center;gap:8px;white-space:nowrap;color:#4a3828}.design-assignee-group-title .el-avatar{flex:0 0 auto;background:#e4d5c3;color:#85551f;font-weight:700}.design-assignee-group-title>span{color:#8c7560}.design-assignee-group-row .el-table__expand-icon{color:#966124}

/* 全站负责人展示的统一基础组件：真实头像优先，失败时回退姓名首字。 */
.ym-person-badge{display:inline-flex;align-items:center;gap:7px;max-width:100%;min-width:0;color:inherit;vertical-align:middle}.ym-person-badge .el-avatar{flex:0 0 auto;background:#e8dccd;color:#85551f;font-weight:700}.ym-person-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ym-person-badge.is-compact{gap:5px}.ym-person-badge.is-unassigned{color:#909399}.ym-person-empty{color:#a8abb2}.ym-person-badge-list{display:inline-flex;align-items:center;gap:10px;max-width:100%;min-width:0;vertical-align:middle}.ym-person-badge-list.is-compact{gap:7px}.ym-person-badge-list .ym-person-badge{min-width:0}.ym-person-more{flex:0 0 auto;padding:1px 6px;border-radius:9px;background:#f0e8de;color:#85551f;font-size:12px;line-height:18px}
.ym-person-badge.is-avatar-only,.ym-person-badge-list.is-avatar-only{gap:3px}.ym-person-badge-list.is-avatar-only .ym-person-badge{flex:0 0 auto}.ym-person-empty.is-blank{display:inline-block;min-width:1px;color:transparent}.el-select__prefix .ym-person-badge-list{max-width:74px;overflow:hidden}.el-select-dropdown__item .ym-person-badge{width:100%}.el-select-dropdown__item .ym-person-name{font-weight:500}
.factory-operator-option{display:flex;width:100%;min-width:0;align-items:center;gap:10px}.factory-operator-option>.ym-person-badge{min-width:0;flex:1}.factory-operator-option>span{flex:0 0 auto;color:#9a8b7e;font-size:11px}.factory-operator-option>small{flex:0 0 auto;padding:1px 6px;border-radius:9px;background:#f4e9dc;color:#855623;font-size:10px;line-height:18px}

/* 设计生产任务工单：Excel 式单元格选择、直接编辑和自动保存反馈。 */
.arsenal-page .design-grid-cell{position:relative;display:flex;align-items:center;width:100%;min-width:0;min-height:30px;padding:2px 4px;border:1px solid transparent;border-radius:3px;box-sizing:border-box;cursor:default;outline:none}
.arsenal-page .design-grid-cell.is-editable{cursor:cell}.arsenal-page .design-grid-cell.is-editable:hover{background:#f5f9ff;border-color:#bdd7f5}
.arsenal-page .design-grid-cell.is-selected{background:#eaf4ff;border-color:#409eff;box-shadow:inset 0 0 0 1px #409eff}.arsenal-page .design-grid-cell.is-error{background:#fff1f0;border-color:#f56c6c;box-shadow:inset 0 0 0 1px #f56c6c}
.arsenal-page .design-grid-cell.is-saving{background:#f5f7fa}.arsenal-page .design-grid-cell.is-saved{border-color:#67c23a}
.arsenal-page .design-grid-cell>.el-input,.arsenal-page .design-grid-cell>.el-select,.arsenal-page .design-grid-cell>.el-date-editor{width:100%;min-width:0}.arsenal-page .design-grid-cell .el-input__wrapper,.arsenal-page .design-grid-cell .el-select__wrapper{min-height:28px;padding:0 7px}
.arsenal-page .design-grid-cell .design-project-title,.arsenal-page .design-grid-cell>.order-copy-cell,.arsenal-page .design-grid-cell>span:not(.design-cell-feedback){min-width:0;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.arsenal-page .design-grid-cell>.order-copy-cell{width:100%}.arsenal-page .design-cell-feedback{position:absolute;right:2px;bottom:1px;z-index:2;padding:0 3px;border:0;border-radius:3px;background:rgba(255,255,255,.92);font-size:10px;line-height:14px;white-space:nowrap}.arsenal-page .design-cell-feedback.is-saving{color:#909399}.arsenal-page .design-cell-feedback.is-saved{color:#52a52f}.arsenal-page button.design-cell-feedback.is-error{color:#d93025;cursor:pointer}
.arsenal-page .design-production-table td.el-table__cell:has(.design-grid-cell){padding-right:3px;padding-left:3px}.arsenal-page .design-production-table td.el-table__cell:has(.design-grid-cell)>.cell{padding-right:0;padding-left:0;overflow:visible}

/* 设计生产负责人分组：在同一张表内形成腾讯文档式圆角分组卡片。 */
.arsenal-page .design-production-table .design-assignee-group-row>td.el-table__cell{
  height:48px;
  border-top:8px solid #fff!important;
  border-bottom-color:#eadac5!important;
  background:#f7f1e8!important;
  background-clip:padding-box!important;
  transition:background-color .16s ease;
}
.arsenal-page .design-production-table .design-assignee-group-row.is-first-group>td.el-table__cell{border-top-width:3px!important}
.arsenal-page .design-production-table .design-assignee-group-row:hover>td.el-table__cell{background:#f2e8dc!important}
.arsenal-page .design-production-table .design-assignee-group-row>td.el-table__cell:first-child{border-left:1px solid #eadac5!important}
.arsenal-page .design-production-table .design-assignee-group-row>td.el-table__cell:last-child{border-right:1px solid #eadac5!important}
.arsenal-page .design-production-table .design-assignee-group-row.is-expanded>td.el-table__cell:first-child{border-radius:9px 0 0 0}
.arsenal-page .design-production-table .design-assignee-group-row.is-expanded>td.el-table__cell:last-child{border-radius:0 9px 0 0}
.arsenal-page .design-production-table .design-assignee-group-row.is-collapsed>td.el-table__cell:first-child{border-radius:9px 0 0 9px}
.arsenal-page .design-production-table .design-assignee-group-row.is-collapsed>td.el-table__cell:last-child{border-radius:0 9px 9px 0}
.arsenal-page .design-production-table .design-assignee-group-child-row>td.el-table__cell:first-child{border-left:1px solid #eadac5!important}
.arsenal-page .design-production-table .design-assignee-group-child-row>td.el-table__cell:last-child{border-right:1px solid #eadac5!important}
.arsenal-page .design-production-table .design-assignee-group-child-row.is-group-last-child>td.el-table__cell{border-bottom-color:#eadac5!important}
.arsenal-page .design-production-table .design-assignee-group-child-row.is-group-last-child>td.el-table__cell:first-child{border-radius:0 0 0 9px}
.arsenal-page .design-production-table .design-assignee-group-child-row.is-group-last-child>td.el-table__cell:last-child{border-radius:0 0 9px 0}
.arsenal-page .design-production-table .design-assignee-group-row .cell{min-height:37px;display:flex;align-items:center}
.arsenal-page .design-production-table .design-group-summary-value{display:block;width:100%;color:#79502b;font-weight:700;font-variant-numeric:tabular-nums}
.arsenal-page .design-production-table{margin-left:10px;width:calc(100% - 10px)!important}
@media(max-width:900px){.arsenal-page .design-production-table{margin-left:6px;width:calc(100% - 6px)!important}}
.design-fixed-column-settings{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:10px 0 12px;border-bottom:1px solid #ebe3d9;margin-bottom:8px}.design-fixed-column-settings label{display:flex;min-width:0;flex-direction:column;gap:5px;color:#6f5a46;font-size:12px}.design-fixed-column-settings .el-select{width:100%;min-width:0}
.design-group-add-row>td.el-table__cell{background:#fff!important}.design-group-add-entry{display:flex;align-items:center;justify-content:center;min-height:30px}.design-quick-add-trigger{display:inline-flex;width:32px;height:32px;align-items:center;justify-content:center;padding:0;border:0;border-radius:6px;background:transparent;color:#7c3aed;font-size:25px;font-weight:500;line-height:1;cursor:pointer;transition:background-color .15s ease,color .15s ease,transform .15s ease}.design-quick-add-trigger:hover{background:#f1e9ff;color:#6421c7}.design-quick-add-trigger:active{transform:scale(.94)}.design-quick-add-trigger:focus-visible{outline:2px solid #a675ee;outline-offset:1px}

/* 设计生产紧凑行距：正式数据行、＋入口行和快速编辑行共用同一行高基准。 */
.arsenal-page .design-production-table{
  --design-data-row-height:37px;
}
.arsenal-page .design-production-table.el-table--small th.el-table__cell,
.arsenal-page .design-production-table.el-table--small td.el-table__cell{
  padding-top:2px;
  padding-bottom:2px;
}
.arsenal-page .design-production-table th.el-table__cell>.cell{
  min-height:32px;
  display:flex;
  align-items:center;
  overflow:hidden;
  line-height:20px;
  white-space:nowrap;
}
.arsenal-page .design-production-table td.el-table__cell>.cell{
  line-height:20px;
  white-space:nowrap;
}
.arsenal-page .design-production-table .design-grid-cell{
  min-height:28px;
  padding-top:1px;
  padding-bottom:1px;
}
.arsenal-page .design-production-table .design-grid-cell .el-input__wrapper,
.arsenal-page .design-production-table .design-grid-cell .el-select__wrapper{
  min-height:26px;
}
.arsenal-page .design-production-table.is-completed-readonly td.el-table__cell>.cell{
  min-height:28px;
  display:flex;
  align-items:center;
}
.arsenal-page .design-completed-readonly-cell{
  display:block;
  max-width:100%;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.arsenal-page .design-production-table.is-completed-readonly .design-completed-readonly-cell[style]{
  width:max-content;
  max-width:100%;
  padding:1px 7px;
  border:1px solid currentColor;
  border-radius:4px;
  box-sizing:border-box;
}
.arsenal-page .design-completed-native-link{
  max-width:100%;
  padding:0;
  border:0;
  background:transparent;
  color:#409eff;
  font:inherit;
  line-height:20px;
  text-decoration:none;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  cursor:pointer;
}
.arsenal-page .design-completed-native-link:hover{text-decoration:underline}
.arsenal-page .design-production-table .design-assignee-group-row>td.el-table__cell{
  height:42px;
  border-top-width:6px!important;
}
.arsenal-page .design-production-table .design-assignee-group-row.is-first-group>td.el-table__cell{
  border-top-width:2px!important;
}
.arsenal-page .design-production-table .design-assignee-group-row .cell{
  min-height:32px;
}
.arsenal-page .design-production-table .el-table__body tbody>tr:not(.design-assignee-group-row),
.arsenal-page .design-production-table .design-assignee-group-child-row,
.arsenal-page .design-production-table .design-group-add-row,
.arsenal-page .design-production-table .design-quick-add-row{
  height:var(--design-data-row-height);
}
/* 分组末尾的＋行自身另有 1px 卡片底边，扣除该边框后实际外高仍与正式行一致。 */
.arsenal-page .design-production-table .design-group-add-row.is-group-last-child{
  height:calc(var(--design-data-row-height) - 1px);
}
.arsenal-page .design-production-table .design-group-add-row>td.el-table__cell,
.arsenal-page .design-production-table .design-quick-add-row>td.el-table__cell{
  height:var(--design-data-row-height);
  box-sizing:border-box;
}
.arsenal-page .design-production-table .design-group-add-row>td.el-table__cell>.cell{
  height:28px;
  min-height:28px;
  display:flex;
  align-items:center;
}
.arsenal-page .design-production-table .design-group-add-entry{
  width:100%;
  height:100%;
  min-height:0;
}
.arsenal-page .design-production-table .design-quick-add-trigger{
  width:28px;
  height:28px;
  font-size:23px;
}
.arsenal-page .design-status-cell{display:inline-flex;width:100%;max-width:100%;min-width:0;align-items:center;gap:5px;white-space:nowrap}
.design-direct-status-select{display:block;width:100%;max-width:100%;min-width:0}
.design-direct-status-select .el-select__wrapper{
  min-height:26px;
  padding:0;
  background:transparent;
  box-shadow:none !important;
  justify-content:flex-start;
}
.design-direct-status-select .el-select__wrapper:hover,
.design-direct-status-select .el-select__wrapper.is-focused{box-shadow:none !important}
.design-direct-status-select .el-select__selection{flex:1 1 auto;width:calc(100% - 18px);min-width:0;overflow:hidden}
.design-direct-status-select .el-select__selected-item:not(.el-select__input-wrapper){
  display:inline-flex;
  align-items:center;
  width:auto;
  max-width:100%;
  min-width:0;
  height:24px;
  padding:0 7px;
  border:1px solid var(--design-status-color,#606266);
  border-radius:4px;
  box-sizing:border-box;
  overflow:hidden;
  color:var(--design-status-color,#606266);
  background:var(--design-status-background,#f4f4f5);
  font-size:13px;
  line-height:22px;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.design-direct-status-select .el-select__suffix{flex:0 0 auto;margin-left:2px;color:var(--design-status-color,#606266)}
.design-status-editor{position:relative;display:inline-flex;width:100%;max-width:100%;min-width:0;align-items:center;gap:4px;cursor:pointer}
.design-status-editor:has(.design-direct-status-select:only-child){min-height:26px}
.design-status-editor .design-status-visible-tag{flex:0 1 auto;min-width:0;max-width:calc(100% - 16px);height:24px;box-sizing:border-box}
.design-status-editor .design-status-visible-tag .el-tag__content{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.design-status-editor-caret{flex:0 0 12px;width:12px;color:var(--design-status-color,#606266);font-size:15px;line-height:1;text-align:center}
.design-status-editor .design-direct-status-select{position:absolute;inset:0;z-index:2;width:100%;height:100%;opacity:0;cursor:pointer}
.design-status-trigger{appearance:none;border:0;background:transparent;padding:0;text-align:left;box-sizing:border-box}
.design-status-trigger.is-blank{display:block;min-height:28px;width:100%;cursor:pointer}
.design-status-trigger:disabled{cursor:not-allowed;opacity:.65}
.design-status-menu{display:flex;flex-direction:column;gap:4px;padding:2px}
.design-status-menu-item{width:100%;height:30px;padding:0 10px;border:0;border-radius:5px;background:#fff;color:#303133;text-align:left;cursor:pointer}
.design-status-menu-item:hover:not(:disabled){background:#f5eee5;color:#8b5a20}
.design-status-menu-item.is-current,.design-status-menu-item:disabled{background:#f5f7fa;color:#a8abb2;cursor:not-allowed}
.design-status-floating-menu{position:fixed;z-index:3600;width:132px;padding:6px;border:1px solid #e4ddd5;border-radius:7px;background:#fff;box-shadow:0 8px 24px rgba(61,45,31,.18);box-sizing:border-box}
.design-group-toggle{display:inline-flex;width:24px;height:24px;flex:0 0 24px;align-items:center;justify-content:center;padding:0;border:0;border-radius:4px;background:transparent;color:#79502b;font-size:20px;line-height:1;cursor:pointer}.design-group-toggle:hover,.design-group-toggle:focus-visible{background:#eadfce;outline:none}
.design-row-actions{display:flex!important;flex-wrap:nowrap!important;align-items:center;white-space:nowrap;gap:6px}.design-row-actions .el-button{flex:0 0 auto;margin-left:0!important}
.design-unassigned-person-blank{display:block;width:100%;min-height:24px}

/* 设计生产滚动与固定操作列：滚动范围由当前账号的动态列模型决定。 */
.arsenal-page .design-production-table{--design-scrollbar-gutter:0px;--design-horizontal-scrollbar-height:0px}
.arsenal-page .design-production-table .el-scrollbar__wrap{overflow-x:auto!important;overscroll-behavior-x:contain}
.arsenal-page .design-production-table.design-has-horizontal-overflow .el-scrollbar__bar.is-horizontal{display:block!important;right:calc(var(--design-scrollbar-gutter) + 2px);bottom:1px;height:10px;opacity:1!important;z-index:8;border-radius:6px;background:rgba(185,168,149,.22)}
.arsenal-page .design-production-table.design-has-horizontal-overflow .el-scrollbar__bar.is-horizontal .el-scrollbar__thumb{min-width:36px;background:#a38d76;opacity:1}
.arsenal-page .design-production-table th.design-operation-column.el-table-fixed-column--right,
.arsenal-page .design-production-table td.design-operation-column.el-table-fixed-column--right{right:var(--design-scrollbar-gutter)!important;box-sizing:border-box;background-color:#fff;z-index:6}
.arsenal-page .design-production-table th.design-operation-column.el-table-fixed-column--right{background-color:#fafafa}
.arsenal-page .design-production-table .design-operation-column>.cell{box-sizing:border-box;width:100%;max-width:100%;overflow:visible;white-space:nowrap}
.arsenal-page .design-production-table .design-row-actions{display:flex!important;width:max-content;max-width:none;align-items:center;flex-wrap:nowrap!important;gap:6px;overflow:visible;white-space:nowrap}
.arsenal-page .design-production-table .design-row-actions .el-button,
.arsenal-page .design-production-table .design-operation-column .design-quick-add-cell .el-button{flex:0 0 auto!important;min-width:48px!important;margin:0!important}
.arsenal-page .design-production-table .design-ai-link-cell{width:100%;max-width:100%;min-width:0;align-items:center;justify-content:flex-start;overflow:hidden}
.arsenal-page .design-production-table .design-ai-link-cell>span{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.arsenal-page .design-production-table .design-ai-link-cell .order-copy-button{flex:0 0 48px;width:48px;min-width:48px;margin-left:auto}
.design-task-table-shell{position:relative;min-width:0}
.design-task-operation-sensor{position:absolute;z-index:12;top:0;right:var(--design-scrollbar-gutter,10px);bottom:12px;width:14px;padding:0;border:0;background:linear-gradient(90deg,transparent,rgba(139,91,43,.12));cursor:ew-resize;opacity:.5}
.design-task-operation-sensor:hover,.design-task-table-shell.is-task-operation-open .design-task-operation-sensor{opacity:0;pointer-events:none}
.design-task-table-shell .design-operation-column{transition:transform .14s ease,opacity .12s ease;will-change:transform}
.design-task-table-shell.is-task-operation-collapsed .design-operation-column.el-table-fixed-column--right{transform:translateX(calc(100% + var(--design-scrollbar-gutter,10px)));opacity:0;pointer-events:none}
.design-task-table-shell.is-task-operation-open .design-operation-column.el-table-fixed-column--right{transform:translateX(0);opacity:1;pointer-events:auto;box-shadow:-5px 0 12px rgba(82,57,34,.08)}
.field-config-draggable{cursor:grab;transition:background-color .15s,border-color .15s}.field-config-draggable:active{cursor:grabbing}.field-config-draggable.is-drag-over{background:#eef5ff;border-color:#8bbcff}.field-config-drag-handle{color:#909399;font-size:17px;letter-spacing:-3px;padding:0 8px;cursor:grab;user-select:none}.field-config-default-actions{display:flex;justify-content:flex-end;gap:8px;padding-top:10px;border-top:1px solid #ebeef5}
.design-quick-add-cell>.el-input,.design-quick-add-cell>.el-select,.design-quick-add-cell>.el-date-editor,.design-quick-add-cell .el-input,.design-quick-add-cell .el-select{width:100%!important;max-width:100%;min-width:0;box-sizing:border-box}
.arsenal-page .design-production-table .design-quick-add-row>td.el-table__cell,.arsenal-page .design-production-table .design-quick-add-row>td.el-table__cell.el-table-fixed-column--left,.arsenal-page .design-production-table .design-quick-add-row>td.el-table__cell.el-table-fixed-column--right{background:#eaf4ff!important}.arsenal-page .design-production-table .design-quick-add-row:hover>td.el-table__cell,.arsenal-page .design-production-table .design-quick-add-row:hover>td.el-table__cell.el-table-fixed-column--left,.arsenal-page .design-production-table .design-quick-add-row:hover>td.el-table__cell.el-table-fixed-column--right{background:#e2f0ff!important}.arsenal-page .design-production-table .design-quick-add-row .cell{min-width:0;overflow:hidden!important;box-sizing:border-box}.arsenal-page .design-production-table .design-quick-add-cell{display:block;width:100%;max-width:100%;min-width:0;margin:0;box-sizing:border-box;overflow:hidden}.arsenal-page .design-production-table .design-quick-add-cell:empty{min-height:1px}.arsenal-page .design-production-table .design-quick-add-row .el-input,.arsenal-page .design-production-table .design-quick-add-row .el-select,.arsenal-page .design-production-table .design-quick-add-row .el-date-editor,.arsenal-page .design-production-table .design-quick-add-row .el-input-number{display:block;width:100%!important;max-width:100%!important;min-width:0!important;margin:0!important;box-sizing:border-box!important}.arsenal-page .design-production-table .design-quick-add-row .el-input__wrapper,.arsenal-page .design-production-table .design-quick-add-row .el-select__wrapper,.arsenal-page .design-production-table .design-quick-add-row .el-date-editor .el-input__wrapper,.arsenal-page .design-production-table .design-quick-add-row .el-input-number .el-input__wrapper{width:100%;max-width:100%;min-width:0!important;margin:0!important;box-sizing:border-box!important}.arsenal-page .design-production-table .design-quick-add-row .el-input__inner,.arsenal-page .design-production-table .design-quick-add-row .el-select__selected-item{min-width:0;max-width:100%;box-sizing:border-box}.arsenal-page .design-production-table .design-operation-column .design-quick-add-cell{display:flex;align-items:center;max-width:100%;min-width:0;overflow:hidden;white-space:nowrap}.arsenal-page .design-production-table .design-operation-column .design-quick-add-cell .el-button{flex:0 1 auto;min-width:0;margin-left:0;margin-right:8px}.design-quick-ai-cell{display:flex;width:100%;max-width:100%;min-width:0;margin:0;flex-direction:column;gap:4px;box-sizing:border-box;overflow:hidden}.design-quick-ai-cell>.el-input,.design-quick-ai-cell>.el-select{width:100%!important;max-width:100%!important;min-width:0!important}
.tmall-period-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px}
.tmall-cost-ratio-note{color:#f5222d;font-size:14px;font-weight:700;white-space:nowrap;line-height:32px}
/* 秘密底牌 */
.secret-cards-page{min-height:calc(100vh - 58px);color:#342d27;background:#fbf8f4}.secret-hero{display:flex;align-items:center;justify-content:space-between;padding:24px 28px;margin-bottom:18px;border-radius:14px;background:#fffdfb;color:#342d27;border:1px solid #eadfd3;box-shadow:0 8px 24px rgba(95,65,38,.05)}.secret-hero h1{margin:0;font-size:24px;letter-spacing:1px}.secret-hero p{margin:8px 0 0;color:#998d82}.secret-selector-card,.secret-table-card{background:#fffdfb;border:1px solid #eadfd3;border-radius:14px;box-shadow:0 8px 24px rgba(95,65,38,.05)}.secret-selector-card{padding:19px 20px;margin-bottom:14px}.secret-selector-title{display:flex;align-items:center;gap:10px;margin-bottom:13px}.secret-selector-title b{font-size:15px}.secret-selector-title span{font-size:12px;color:#998d82}.secret-chip-row{display:flex;gap:9px;flex-wrap:wrap}.secret-chip-row .el-button{margin-left:0}.secret-selector-card .el-divider{margin:18px 0}.secret-table-card{padding:19px 20px}.secret-table-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:18px}.secret-table-head h2{margin:5px 0 0;font-size:21px}.secret-table-head h2 small{font-size:13px;color:#998d82;font-weight:400}.secret-path{font-size:13px;color:#9a6a3c}.secret-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.secret-actions .el-button{margin-left:0}.secret-l-code{font-size:16px!important;font-weight:700}.secret-thumb{width:54px;height:54px;border-radius:8px}.secret-draft{display:block;font-size:10px;color:#d98d13;font-style:normal}.muted{color:#a5a9b2}.secret-table-card .el-table{--el-table-header-bg-color:#f7f1ea;--el-table-row-hover-bg-color:#fff9f2}.secret-drawer-top{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:18px}.secret-drawer-top .el-tag{margin:8px 6px 0 0}.secret-detail-section{margin:22px 0 30px}.secret-detail-section h3{padding-left:10px;border-left:4px solid #a9753d}.secret-image-list{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:14px}.secret-image-list>.el-image,.secret-image-item{width:92px;height:92px;border-radius:9px;overflow:hidden;border:1px solid #eadfd3}.secret-image-item{position:relative}.secret-image-item .el-image{width:100%;height:100%}.secret-image-item button{position:absolute;right:3px;top:3px;width:22px;height:22px;border:0;border-radius:50%;background:rgba(0,0,0,.58);color:#fff;cursor:pointer}.secret-prompt{margin-top:16px;padding:16px 18px;border-radius:10px;background:#fff8ee;border:1px solid #eadfd3}.secret-prompt>div{display:flex;justify-content:space-between}.secret-prompt p{white-space:pre-wrap;line-height:1.8;margin:10px 0 0;color:#61574e}.secret-field-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}.secret-standard-form{margin-top:15px}.secret-drawer-footer{position:sticky;bottom:-20px;display:flex;justify-content:flex-end;gap:8px;padding:14px 0;background:#fff;border-top:1px solid #eee;z-index:2}.secret-batch-summary{display:flex;flex-direction:column;gap:8px;padding:14px 16px;margin-bottom:18px;border-radius:10px;background:#faf6f1}.secret-batch-summary strong{margin-top:4px;color:#855623;font-size:16px}.secret-advanced{margin-top:6px}.secret-standard-drawer .el-drawer__body{padding-top:8px}.secret-standard-drawer .el-descriptions__label{width:118px}.secret-standard-drawer .el-descriptions__content{white-space:pre-wrap}.secret-batch-form{padding-right:22px}@media(max-width:900px){.secret-hero,.secret-table-head{align-items:flex-start;flex-direction:column}.secret-actions{justify-content:flex-start}.secret-field-grid{grid-template-columns:1fr}.secret-standard-drawer{width:96%!important}}
.secret-standard-direct{padding:0!important}.secret-drawer-shortcuts{position:sticky;top:-8px;z-index:4;display:flex;align-items:center;gap:8px;padding:10px 12px;margin:0 0 16px;border:1px solid #eadfd3;border-radius:10px;background:rgba(255,255,255,.96);box-shadow:0 5px 18px rgba(95,65,38,.06)}.secret-drawer-shortcuts span{font-size:12px;color:#998d82;margin-right:2px}.secret-coding-section{scroll-margin-top:70px;padding:16px;border:2px solid #d9b287;border-radius:12px;background:#fffdfb}.secret-coding-section h3{margin-top:0}
.secret-workspace{display:grid;grid-template-columns:176px minmax(0,1fr);min-height:calc(100vh - 58px);background:#fbf8f4}.secret-category-sidebar{min-height:calc(100vh - 58px);padding:20px 14px;border-right:1px solid #eadfd3;background:#fffdfb;box-sizing:border-box}.secret-sidebar-brand{padding:4px 12px 18px;border-bottom:1px solid #eadfd3}.secret-sidebar-brand h1{margin:0;color:#342d27;font-size:21px;letter-spacing:1px}.secret-sidebar-heading{display:flex;align-items:center;gap:12px;padding:14px 10px 8px}.secret-sidebar-heading .el-button{margin:0;padding:4px 0;color:#855623;font-size:13px}.secret-sidebar-heading .el-button:hover{color:#5d3916}.secret-category-list{display:flex;flex-direction:column;gap:6px}.secret-category-list button{display:flex;align-items:center;gap:10px;width:100%;padding:13px 12px;border:1px solid transparent;border-radius:11px;background:transparent;color:#655a50;font:inherit;text-align:left;cursor:pointer;transition:.18s}.secret-category-list button:hover{background:#faf4ec;color:#342d27}.secret-category-list button.active{border-color:#d8b58d;background:#f8eee2;color:#754817;box-shadow:inset 3px 0 #855623}.secret-category-code{flex:0 0 28px;font-weight:700;color:#9a6a3c}.secret-category-list button.active .secret-category-code{color:#754817}.secret-content-panel{min-width:0;padding:18px 20px 30px;overflow-x:hidden}.secret-level2-card{margin-bottom:14px}.secret-content-panel>.secret-table-card{margin-top:0}@media(max-width:900px){.secret-workspace{display:block}.secret-category-sidebar{position:sticky;top:0;z-index:10;min-height:0;padding:10px 12px;border-right:0;border-bottom:1px solid #eadfd3}.secret-sidebar-brand{padding:4px 8px 10px}.secret-sidebar-brand h1{font-size:18px}.secret-sidebar-heading{padding:8px 6px 6px}.secret-category-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.secret-category-list button.active{box-shadow:inset 0 -3px #855623}.secret-content-panel{padding:12px}}
.stage-product-id-cell {
  display: flex;
  align-items: center;
  gap: 6px;
  min-width: 0;
  width: 100%;
}
.stage-product-id-cell .el-input { flex: 1 1 auto; min-width: 0; }
.stage-product-id-value { flex: 1 1 auto; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.stage-product-id-cell .order-copy-button { flex: 0 0 auto; }

/* 秘密底牌：参考图缩略带、排序编辑器与独立深色预览。 */
.secret-reference-strip{display:flex;align-items:center;gap:5px;min-height:44px;white-space:nowrap}
.secret-reference-tile{position:relative;display:block;flex:0 0 40px;width:40px;height:40px;padding:0;overflow:hidden;border:1px solid #e2d7ca;border-radius:7px;background:#f6f1eb;box-shadow:0 1px 3px rgba(77,55,35,.05);cursor:zoom-in;transition:transform .16s,border-color .16s,box-shadow .16s}
.secret-reference-tile:hover{z-index:1;transform:translateY(-2px);border-color:#b48a60;box-shadow:0 5px 12px rgba(77,55,35,.14)}
.secret-reference-tile img{display:block;width:100%;height:100%;object-fit:cover}
.secret-reference-more{overflow:visible;color:#fff;background:linear-gradient(145deg,#a5794d,#76502d);font-size:13px;font-weight:700;cursor:pointer}
.secret-reference-more i{position:absolute;inset:-4px 4px 4px -4px;z-index:-1;border:1px solid #c4a688;border-radius:7px;background:#efe2d5}
.secret-reference-more span{position:relative;z-index:1}
.secret-reference-editor{width:100%;min-width:0}
.secret-image-list.secret-image-sort-list{align-items:flex-start;gap:12px;margin:0}
.secret-image-sort-list .secret-image-item{display:flex;flex-direction:column;width:100px;height:auto;overflow:visible;border:0;border-radius:0;background:transparent;cursor:grab;transition:opacity .15s,transform .15s}
.secret-image-sort-list .secret-image-item.dragging{opacity:.35;transform:scale(.96)}
.secret-image-sort-list .secret-image-item.saving{cursor:progress}
.secret-image-sort-list .secret-image-thumb{position:relative;width:92px;height:92px;overflow:hidden;border:1px solid #e0d4c7;border-radius:9px;background:#fff;box-shadow:0 3px 10px rgba(81,57,34,.08);cursor:zoom-in}
.secret-image-sort-list .secret-image-thumb img{display:block;width:100%;height:100%;object-fit:contain}
.secret-image-sort-list .secret-image-item small{display:block;max-width:100%;padding-top:6px;overflow:hidden;color:#655a50;font-size:12px;line-height:18px;text-align:center;text-overflow:ellipsis;white-space:nowrap}
.secret-image-sort-list .secret-image-drag{position:absolute;left:4px;top:4px;display:flex;align-items:center;justify-content:center;width:26px;height:22px;border-radius:5px;color:#fff;background:rgba(24,20,16,.62);font-size:12px;letter-spacing:-2px;cursor:grab;user-select:none}
.secret-image-sort-list .secret-image-delete{position:absolute;right:4px;top:4px;width:24px;height:24px;padding:0;border:0;border-radius:50%;color:#fff;background:rgba(24,20,16,.68);font-size:18px;line-height:22px;cursor:pointer}
.secret-image-sort-list .secret-image-delete:hover{background:#d4473d}
.secret-image-upload{display:block;width:100px}
.secret-image-upload .el-upload{display:block;width:100%}
.secret-image-upload-button{display:flex;width:100px;height:82px;padding:0;border:1px dashed #c7ad92;border-radius:9px;align-items:center;justify-content:center;flex-direction:column;gap:6px;color:#855623;background:#fffaf4;cursor:pointer;transition:.16s}
.secret-image-upload-button:hover{border-color:#855623;background:#f9eee1}
.secret-image-upload-button:disabled{opacity:.55;cursor:progress}
.secret-image-upload-button b{font-size:24px;font-weight:300;line-height:22px}.secret-image-upload-button span{font-size:12px}
.secret-image-editor-tip{display:flex;justify-content:space-between;gap:20px;margin-top:10px;color:#998d82;font-size:12px}.secret-image-editor-tip b{color:#855623}
.secret-detail-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(106px,1fr));gap:12px;margin:0 0 18px}
.secret-detail-gallery button{min-width:0;padding:0;overflow:hidden;border:1px solid #e2d7ca;border-radius:9px;color:#655a50;background:#fff;cursor:zoom-in;transition:transform .16s,box-shadow .16s}
.secret-detail-gallery button:hover{transform:translateY(-2px);box-shadow:0 6px 16px rgba(77,55,35,.12)}
.secret-detail-gallery img{display:block;width:100%;height:auto;aspect-ratio:1/1;object-fit:contain;background:#fff}.secret-detail-gallery span{display:block;padding:7px 5px;font-size:12px;text-align:center}
.secret-lightbox{position:fixed;inset:0;z-index:7000;display:flex;overflow:hidden;flex-direction:column;color:#f7f7f7;background:rgba(10,11,14,.97);user-select:none}
.secret-lightbox-header{position:relative;z-index:2;display:flex;min-height:64px;padding:0 22px;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(255,255,255,.1);background:rgba(16,17,21,.82);box-sizing:border-box}
.secret-lightbox-header>div{display:flex;min-width:0;align-items:center;gap:16px}.secret-lightbox-header strong{overflow:hidden;font-size:16px;text-overflow:ellipsis;white-space:nowrap}.secret-lightbox-header span{flex:0 0 auto;color:#aeb1b8;font-size:13px}
.secret-lightbox-header>button{width:38px;height:38px;padding:0;border:0;border-radius:50%;color:#e7e7e8;background:rgba(255,255,255,.08);font-size:28px;line-height:34px;cursor:pointer}.secret-lightbox-header>button:hover{background:rgba(255,255,255,.16)}
.secret-lightbox-stage{position:relative;display:flex;min-height:0;flex:1 1 auto;align-items:center;justify-content:center;overflow:hidden}
.secret-lightbox-stage>img{display:block;max-width:calc(100vw - 180px);max-height:calc(100vh - 168px);object-fit:contain;cursor:grab;transition:transform .12s ease-out;transform-origin:center center;-webkit-user-drag:none}
.secret-lightbox-stage>img.dragging{cursor:grabbing;transition:none}
.secret-lightbox-nav{position:absolute;z-index:2;top:50%;width:52px;height:68px;padding:0;border:0;border-radius:10px;color:#fff;background:rgba(255,255,255,.1);font-size:46px;font-weight:200;line-height:58px;transform:translateY(-50%);cursor:pointer}.secret-lightbox-nav:hover:not(:disabled){background:rgba(255,255,255,.2)}.secret-lightbox-nav:disabled{opacity:.22;cursor:default}.secret-lightbox-prev{left:22px}.secret-lightbox-next{right:22px}
.secret-lightbox-toolbar{position:relative;z-index:2;display:flex;min-height:64px;padding:0 22px;align-items:center;justify-content:center;gap:8px;border-top:1px solid rgba(255,255,255,.1);background:rgba(16,17,21,.86);box-sizing:border-box}
.secret-lightbox-toolbar button{height:34px;padding:0 13px;border:1px solid rgba(255,255,255,.16);border-radius:7px;color:#eef0f3;background:rgba(255,255,255,.07);cursor:pointer}.secret-lightbox-toolbar button:hover,.secret-lightbox-toolbar button.active{border-color:#b9936d;background:#8b633d}.secret-lightbox-toolbar span{min-width:46px;color:#c8cbd0;font-size:12px;text-align:center}.secret-lightbox-toolbar i{width:1px;height:22px;margin:0 5px;background:rgba(255,255,255,.15)}.secret-lightbox-toolbar em{position:absolute;right:22px;color:#777d87;font-size:12px;font-style:normal}
@media(max-width:760px){.secret-lightbox-stage>img{max-width:calc(100vw - 80px);max-height:calc(100vh - 160px)}.secret-lightbox-nav{width:40px;height:58px;font-size:36px}.secret-lightbox-prev{left:8px}.secret-lightbox-next{right:8px}.secret-lightbox-toolbar em{display:none}.secret-reference-strip{gap:3px}.secret-reference-tile{flex-basis:36px;width:36px;height:36px}}

/* 兵工厂工单数量直编：保留数字键盘和非负整数校验，去掉浏览器自带的上下增减按钮。 */
.arsenal-page .arsenal-count-input input[type="number"]{
  appearance:textfield;
  -moz-appearance:textfield;
}
.arsenal-page .arsenal-count-input input[type="number"]::-webkit-inner-spin-button,
.arsenal-page .arsenal-count-input input[type="number"]::-webkit-outer-spin-button{
  -webkit-appearance:none;
  appearance:none;
  margin:0;
}

/* 首页视觉部门仪表盘沿用兵工厂既有数据视觉，仅由首页布局外壳负责留白与自适应高度。 */
.home-visual-dashboard-section{padding:0;overflow:visible}
.home-visual-dashboard{margin:0;padding:20px;border:1px solid #eadfce;border-radius:18px;background:#fff;box-sizing:border-box}
.home-visual-dashboard .visual-filter-panel{margin-top:0}
.home-visual-dashboard .visual-dashboard-merged-heading{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:0 0 14px;padding:0 0 14px;border-bottom:1px solid #f0e8df}
.home-visual-dashboard .visual-dashboard-merged-heading strong{display:block;color:#342d27;font-size:20px;line-height:1.3}
.home-visual-dashboard .visual-dashboard-merged-heading span{display:block;margin-top:5px;color:#8c7e72;font-size:13px}
.home-visual-dashboard .visual-dashboard-merged-heading em{color:#9a7a57;font-size:12px;font-style:normal;white-space:nowrap}
.home-visual-dashboard .visual-dashboard-heading-actions{display:flex;align-items:center;gap:14px}
@media(max-width:900px){.home-visual-dashboard{padding:14px}.home-visual-dashboard .visual-filter-row{align-items:stretch}.home-visual-dashboard .visual-filter-row>*{max-width:100%}}

/* HOME-VISUAL-DASHBOARD-REDESIGN-001：首页视觉部门仪表盘重排。 */
.home-visual-dashboard{--visual-ink:#18324f;--visual-gold:#a66b23;--visual-line:#eadfce;--visual-soft:#fbf8f3;color:var(--visual-ink);background:linear-gradient(180deg,#fffefc 0,#fff 48%)}
.home-visual-dashboard .visual-filter-panel-merged{position:relative;margin-bottom:10px;padding-bottom:12px}
.home-visual-dashboard .visual-filter-row{justify-content:flex-end}
.visual-reference-presets{display:flex;justify-content:flex-end;gap:2px;margin:-2px 0 14px}
.visual-reference-presets button{min-width:62px;height:34px;padding:0 14px;border:1px solid var(--visual-line);background:#fff;color:#6f675f;font:inherit;font-size:12px;cursor:pointer;transition:.16s}
.visual-reference-presets button:first-child{border-radius:8px 0 0 8px}.visual-reference-presets button:last-child{border-radius:0 8px 8px 0}
.visual-reference-presets button+button{margin-left:-1px}.visual-reference-presets button:hover{position:relative;border-color:#cda873;color:#7b4c17}.visual-reference-presets button.active{position:relative;z-index:1;border-color:var(--visual-gold);background:var(--visual-gold);color:#fff;box-shadow:0 4px 12px rgba(166,107,35,.2)}
.visual-reference-flow,.visual-reference-panel{border:1px solid var(--visual-line);border-radius:14px;background:#fff;box-shadow:0 6px 18px rgba(72,52,31,.045)}
.visual-reference-flow{margin-bottom:12px;padding:17px 18px 18px}
.visual-reference-section-head,.visual-reference-tab-head{display:flex;align-items:center;justify-content:space-between;gap:16px}
.visual-reference-section-head>div>strong{display:block;color:var(--visual-ink);font-size:16px}.visual-reference-section-head>div>span{display:block;margin-top:4px;color:#94897d;font-size:11px}
.visual-reference-flow-scroll{margin-top:14px;overflow-x:auto;padding:2px 1px 5px}
.visual-reference-flow-track{display:grid;min-width:1040px;grid-template-columns:minmax(190px,1fr) 74px minmax(190px,1fr) 96px minmax(190px,1fr) 74px minmax(190px,1fr);align-items:stretch}
.visual-reference-stage{position:relative;min-height:142px;padding:15px;border:1px solid #e3caa9;border-radius:11px;background:linear-gradient(135deg,#fffaf4,#fff);box-sizing:border-box;cursor:pointer;transition:transform .16s,border-color .16s,box-shadow .16s}
.visual-reference-stage:hover,.visual-reference-stage:focus-visible{z-index:1;transform:translateY(-2px);border-color:#b77a31;outline:0;box-shadow:0 8px 18px rgba(93,57,20,.12)}
.visual-reference-stage.stage-design,.visual-reference-stage.stage-incubation{border-color:#cbd7e8;background:linear-gradient(135deg,#f6f9ff,#fff)}.visual-reference-stage.stage-optimization{border-color:#ebc2bd;background:linear-gradient(135deg,#fff8f7,#fff)}
.visual-reference-stage header{display:flex;align-items:center;gap:12px}.visual-stage-icon{display:grid;flex:0 0 38px;width:38px;height:38px;place-items:center;border-radius:50%;background:#f5e9d9;color:#9b5d18;font-size:11px;font-weight:800}
.visual-reference-stage.stage-design .visual-stage-icon,.visual-reference-stage.stage-incubation .visual-stage-icon{background:#eaf1fb;color:#315b9a}.visual-reference-stage.stage-optimization .visual-stage-icon{background:#fdeae7;color:#bd5d53}
.visual-reference-stage header strong,.visual-reference-stage header b{display:block}.visual-reference-stage header strong{font-size:15px}.visual-reference-stage header b{margin-top:3px;font-size:18px}.visual-reference-stage header b small{color:#9b9187;font-size:10px;font-weight:400}
.visual-reference-stage-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:13px;padding-top:11px;border-top:1px dashed #e8ded2}
.visual-reference-stage-metrics div{min-width:0}.visual-reference-stage-metrics span,.visual-reference-stage-metrics b{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.visual-reference-stage-metrics span{color:#8b8177;font-size:10px}.visual-reference-stage-metrics b{margin-top:3px;color:#704215;font-size:14px}.visual-reference-stage-metrics b small{font-size:9px;font-weight:400}.visual-reference-stage-metrics .is-unavailable b{color:#b28445;font-size:11px}
/* HOME-VISUAL-FLOW-ARROW-30D-001：卡片间独立双向流转箭头，不占用卡片内容。 */
.visual-reference-connector{display:grid;min-width:0;padding:18px 4px 14px;grid-template-rows:1fr 1fr;align-items:center;gap:9px;color:#aa7a43}.visual-flow-link{display:flex;min-width:0;flex-direction:column;align-items:center;justify-content:center;gap:4px}.visual-flow-link span,.visual-flow-link small{max-width:76px;overflow-wrap:anywhere;font-size:9px;line-height:1.3;text-align:center}.visual-flow-link span{color:#8e8174}.visual-flow-link small{color:#c15d55}.visual-flow-link i{position:relative;display:block;flex:0 0 2px;width:34px;height:2px;background:#b88549}.visual-flow-link i::after{position:absolute;top:50%;right:-1px;width:0;height:0;border-top:5px solid transparent;border-bottom:5px solid transparent;border-left:8px solid #b88549;content:'';transform:translateY(-50%)}.visual-flow-link--backward i{background:#d4665d;transform:rotate(180deg)}.visual-flow-link--backward i::after{border-left-color:#d4665d}.visual-reference-connector.after-design{padding-top:12px;padding-bottom:9px}.visual-reference-connector.after-design .visual-flow-link{gap:3px}.visual-reference-connector.after-design .visual-flow-link--backward{justify-content:flex-end}
.visual-reference-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:12px;border:1px solid var(--visual-line);border-radius:12px;background:#fff;overflow:hidden}
.visual-reference-kpis button{min-width:0;min-height:92px;padding:15px 22px;border:0;border-right:1px solid #eee5da;background:#fff;color:inherit;text-align:left;cursor:pointer;transition:background .15s}.visual-reference-kpis button:last-child{border-right:0}.visual-reference-kpis button:hover{background:#fdf9f4}
.visual-reference-kpis span,.visual-reference-kpis strong,.visual-reference-kpis small{display:block}.visual-reference-kpis span{color:#746b63;font-size:12px}.visual-reference-kpis strong{margin:7px 0 4px;color:var(--visual-gold);font-size:25px;line-height:1}.visual-reference-kpis small{overflow:hidden;color:#a0978d;font-size:9px;text-overflow:ellipsis;white-space:nowrap}
.visual-reference-main-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:12px;margin-bottom:12px}
.visual-reference-panel{min-width:0;overflow:hidden}.visual-reference-tab-head{min-height:58px;padding:0 17px;border-bottom:1px solid #eee5da}.visual-reference-tab-head>strong{font-size:16px}.visual-reference-tab-head>div{display:flex;height:58px;align-items:stretch;gap:8px}.visual-reference-tab-head button{position:relative;padding:0 8px;border:0;background:transparent;color:#80766d;font:inherit;font-size:11px;cursor:pointer}.visual-reference-tab-head button::after{position:absolute;right:5px;bottom:0;left:5px;height:2px;border-radius:2px;background:transparent;content:''}.visual-reference-tab-head button.active{color:#8b561c;font-weight:700}.visual-reference-tab-head button.active::after{background:var(--visual-gold)}
.visual-reference-tab-body{min-height:332px;padding:16px;box-sizing:border-box}.visual-reference-table-wrap{padding:0}.visual-reference-table-wrap .el-table{--el-table-header-bg-color:#fcf8f3;cursor:pointer}.visual-reference-table-wrap .el-table__inner-wrapper::before{display:none}
.visual-reference-trend{display:flex;height:218px;align-items:flex-end;gap:7px;padding:12px 4px 0;border-bottom:1px solid #e9dfd4;overflow-x:auto}.visual-reference-trend>div{display:grid;flex:1 0 28px;min-width:28px;height:100%;grid-template-rows:18px minmax(20px,1fr) 23px;align-items:end;text-align:center}.visual-reference-trend b{color:#756a60;font-size:9px}.visual-reference-trend i{display:block;width:60%;min-height:4px;margin:0 auto;border-radius:4px 4px 0 0;background:linear-gradient(180deg,#d6ae78,#a66b23)}.visual-reference-trend span{padding-top:5px;color:#9b9188;font-size:9px;white-space:nowrap}
.visual-reference-trend-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));padding-top:13px}.visual-reference-trend-summary>div{padding:0 10px;border-right:1px solid #eee5da}.visual-reference-trend-summary>div:last-child{border-right:0}.visual-reference-trend-summary span,.visual-reference-trend-summary strong{display:block}.visual-reference-trend-summary span{color:#91877d;font-size:9px}.visual-reference-trend-summary strong{margin-top:6px;color:#263f59;font-size:15px}
.visual-reference-structure{display:grid;grid-template-columns:1fr 1fr;gap:12px}.visual-reference-structure button{min-height:150px;padding:22px;border:1px solid #e8ddd1;border-radius:12px;background:#fdfaf6;color:inherit;text-align:left;cursor:pointer}.visual-reference-structure button:hover,.visual-reference-structure button.active{border-color:#b77a31;background:#fbf2e6}.visual-reference-structure span,.visual-reference-structure strong,.visual-reference-structure small{display:block}.visual-reference-structure span{font-size:13px}.visual-reference-structure strong{margin:15px 0 8px;color:#9b5d18;font-size:30px}.visual-reference-structure small{color:#9b9188;font-size:10px}
.visual-reference-load-list{display:grid;gap:5px}.visual-reference-load-list>button{display:grid;min-width:0;min-height:52px;padding:7px 8px;border:0;border-bottom:1px solid #eee7de;background:#fff;grid-template-columns:minmax(125px,.9fr) minmax(120px,1.2fr) 50px;align-items:center;gap:12px;color:inherit;text-align:left;cursor:pointer}.visual-reference-load-list>button:hover{background:#fdf9f4}.visual-reference-load-list>button>div span{display:block;margin-bottom:5px;color:#8e8378;font-size:9px}.visual-reference-load-list>button>div i{display:block;height:7px;border-radius:5px;background:#eee7dc;overflow:hidden}.visual-reference-load-list>button>div i b{display:block;height:100%;border-radius:5px;background:#b57b35}.visual-reference-load-list em{color:#4f6d58;font-size:11px;font-style:normal;text-align:right}.visual-reference-load-list em.busy{color:#c35e54}
.visual-reference-quality{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.visual-reference-quality button{min-height:86px;padding:11px 12px;border:1px solid #eee2d5;border-radius:9px;background:#fdfaf7;color:inherit;text-align:left;cursor:pointer}.visual-reference-quality button:hover{border-color:#c9a173}.visual-reference-quality button.warning{border-color:#f0c9c2;background:#fff7f5}.visual-reference-quality button.notice{border-color:#ebd6b5;background:#fffbf3}.visual-reference-quality button.normal{border-color:#cfe1d0;background:#f6fbf6}.visual-reference-quality button.unavailable{border-style:dashed;background:#fafafa}.visual-reference-quality span,.visual-reference-quality strong,.visual-reference-quality small{display:block}.visual-reference-quality span{color:#76502a;font-size:11px;font-weight:700}.visual-reference-quality strong{margin-top:6px;color:#a66b23;font-size:16px}.visual-reference-quality small{margin-top:6px;color:#94897e;font-size:9px;line-height:1.5}
.visual-reference-goal{display:grid;margin-top:9px;padding:11px 12px;border-radius:9px;background:#f8f4ef;grid-template-columns:minmax(145px,.8fr) minmax(110px,1fr) auto;align-items:center;gap:12px}.visual-reference-goal span,.visual-reference-goal strong{display:block}.visual-reference-goal span{color:#8d8278;font-size:9px}.visual-reference-goal strong{margin-top:4px;color:#72502b;font-size:13px}
.visual-reference-output-strip{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));border:1px solid var(--visual-line);border-radius:10px;background:#fbf8f3;overflow:hidden}.visual-reference-output-strip>div{padding:12px 16px;border-right:1px solid #e9ded2}.visual-reference-output-strip>div:last-child{border-right:0}.visual-reference-output-strip span,.visual-reference-output-strip strong{display:block}.visual-reference-output-strip span{color:#8c8177;font-size:9px}.visual-reference-output-strip strong{margin-top:5px;color:#755025;font-size:16px}
@media(max-width:1180px){.visual-reference-main-grid{grid-template-columns:1fr}.visual-reference-tab-body{min-height:300px}.visual-reference-kpis{grid-template-columns:repeat(2,1fr)}.visual-reference-kpis button:nth-child(2){border-right:0}.visual-reference-kpis button:nth-child(-n+2){border-bottom:1px solid #eee5da}}
@media(max-width:980px){.visual-reference-flow-scroll{overflow:visible}.visual-reference-flow-track{min-width:0;grid-template-columns:1fr;gap:0}.visual-reference-connector{min-height:62px;padding:8px 0;grid-template-columns:1fr 1fr;grid-template-rows:1fr}.visual-flow-link{gap:7px}.visual-flow-link i{flex-basis:2px;width:2px;height:25px}.visual-flow-link i::after{top:auto;right:50%;bottom:-1px;border-top:7px solid #b88549;border-right:5px solid transparent;border-bottom:0;border-left:5px solid transparent;transform:translateX(50%)}.visual-flow-link--backward i::after{border-top-color:#d4665d}.visual-reference-connector.after-design{padding:8px 0}.visual-reference-connector.after-design .visual-flow-link--backward{justify-content:center}.visual-reference-connector:not(.after-design){grid-template-columns:1fr}.visual-reference-connector:not(.after-design) .visual-flow-link{flex-direction:column}.visual-reference-connector.after-design .visual-flow-link--forward{flex-direction:column}.visual-reference-connector.after-design .visual-flow-link--backward{flex-direction:column-reverse}}
@media(max-width:760px){.home-visual-dashboard .visual-dashboard-merged-heading,.visual-reference-section-head,.visual-reference-tab-head{align-items:flex-start;flex-direction:column}.home-visual-dashboard .visual-dashboard-heading-actions{width:100%;justify-content:space-between}.visual-reference-presets{justify-content:flex-start;overflow-x:auto}.visual-reference-presets button{flex:0 0 auto}.visual-reference-kpis{grid-template-columns:1fr}.visual-reference-kpis button{border-right:0;border-bottom:1px solid #eee5da}.visual-reference-kpis button:last-child{border-bottom:0}.visual-reference-tab-head{padding-top:13px}.visual-reference-tab-head>div{width:100%;height:42px;overflow-x:auto}.visual-reference-tab-head button{flex:0 0 auto}.visual-reference-tab-body{min-height:0}.visual-reference-trend-summary,.visual-reference-output-strip{grid-template-columns:repeat(2,1fr)}.visual-reference-trend-summary>div,.visual-reference-output-strip>div{padding:9px;border-right:0;border-bottom:1px solid #eee5da}.visual-reference-quality,.visual-reference-structure{grid-template-columns:1fr}.visual-reference-load-list>button{grid-template-columns:minmax(120px,1fr) 70px}.visual-reference-load-list>button>div{display:none}.visual-reference-goal{grid-template-columns:1fr}.visual-reference-goal .el-button{justify-self:start}}

/* HOME-VISUAL-BOARD-V2-001：视觉业务看板二期。 */
.home-visual-dashboard .visual-v2-filter-panel{display:flex;align-items:center;gap:16px;padding-bottom:13px}
.home-visual-dashboard .visual-v2-filter-panel .visual-dashboard-merged-heading{flex:0 0 auto;margin:0;padding:0;border:0}
.home-visual-dashboard .visual-v2-filter-panel .visual-dashboard-merged-heading span{max-width:340px}
.home-visual-dashboard .visual-v2-filter-row{display:flex;flex:1 1 auto;min-width:0;align-items:center;justify-content:flex-end;gap:7px;flex-wrap:nowrap}
.visual-v2-quick-dates{display:flex;flex:0 0 auto;align-items:center}
.visual-v2-quick-dates button{height:32px;padding:0 9px;border:1px solid #e2d5c6;background:#fff;color:#756b62;font:inherit;font-size:11px;cursor:pointer}
.visual-v2-quick-dates button:first-child{border-radius:7px 0 0 7px}.visual-v2-quick-dates button:last-child{border-radius:0 7px 7px 0}.visual-v2-quick-dates button+button{margin-left:-1px}
.visual-v2-quick-dates button.active{position:relative;z-index:1;border-color:#a66b23;background:#a66b23;color:#fff}
.home-visual-dashboard .visual-v2-period-picker{width:112px!important}.home-visual-dashboard .visual-v2-reset{flex:0 0 auto}
.visual-reference-kpis small em{display:inline;color:#8f8275;font-style:normal}.visual-reference-kpis small em.good{color:#3b8b55}.visual-reference-kpis small em.warning{color:#c1584f}
.visual-reference-source-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.visual-reference-source-list button{min-height:145px;padding:18px;border:1px solid #e8ddd1;border-radius:11px;background:#fdfaf6;color:inherit;text-align:left;cursor:pointer}
.secret-ai-filterbar{display:grid;grid-template-columns:repeat(3,minmax(130px,190px)) minmax(220px,1fr);align-items:center;gap:8px;margin-top:12px;padding:10px 12px;border:1px solid #eadfce;border-radius:11px;background:#fffdf9}.secret-ai-filterbar .el-select{width:100%}.secret-ai-filterbar small{color:#8c8177;line-height:1.5}.secret-ai-head-actions{display:flex!important;align-items:center!important;justify-content:flex-end;gap:7px;flex-wrap:wrap}.secret-ai-planning-group h5{display:flex;align-items:center;justify-content:space-between;gap:8px}.secret-ai-planning-group h5>.el-input{max-width:360px}.secret-ai-add-field{margin:10px 12px}.secret-ai-add-group{margin:0 18px 16px}.secret-ai-row-actions{display:flex;justify-content:flex-end;margin-top:6px}.secret-ai-keyword-row>div{min-width:0;margin:10px 12px}.secret-ai-keyword-row>div>div:not(.secret-ai-row-actions){min-height:58px;white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.8;color:#5f5f5f}.secret-visual-inline-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.secret-visual-inline-actions{display:flex;gap:8px}
.secret-renewal-l0-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:14px}.secret-renewal-l0-head h3{margin:0 0 5px}.secret-renewal-l0-head small{color:#94887c;line-height:1.5}.secret-renewal-l0-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));overflow:hidden;border:1px solid #e8ddd1;border-radius:12px;background:#fff}.secret-renewal-l0-card{display:flex;min-height:84px;padding:12px;border:0;border-right:1px solid #eee5da;border-bottom:1px solid #eee5da;background:#fff;color:#62482f;align-items:center;justify-content:center;flex-direction:column;gap:6px;cursor:pointer}.secret-renewal-l0-card:nth-child(5n){border-right:0}.secret-renewal-l0-card:hover,.secret-renewal-l0-card.is-active{background:#fbf2e6;color:#9b5d18}.secret-renewal-l0-card.is-active{box-shadow:inset 0 0 0 2px #b77a31}.secret-renewal-l0-card small{color:#9b9188}.secret-renewal-l0-card.is-add{color:#7b3fb1;background:#fdfaff;font-weight:700}.secret-renewal-l0-filter{grid-template-columns:minmax(180px,320px) minmax(220px,1fr)}
@media(max-width:720px){.secret-ai-filterbar,.secret-renewal-l0-filter{grid-template-columns:1fr}.secret-renewal-l0-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.secret-renewal-l0-card:nth-child(5n){border-right:1px solid #eee5da}.secret-renewal-l0-card:nth-child(2n){border-right:0}.secret-ai-head-actions{justify-content:flex-start}.secret-visual-inline-head{align-items:flex-start;flex-direction:column}}

/* 普通产品标准三类 AI 提示词；焕新 L0 使用既有独立样式。 */
.secret-ai-reference-filter{display:flex;align-items:center;gap:12px;padding:12px 18px;border-bottom:1px solid #eee4d8;background:#fffdf9}.secret-ai-reference-filter .el-select{width:min(360px,100%)}.secret-ai-reference-filter small{color:#8c8177;line-height:1.5}
.secret-ai-reference-picker{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;padding:14px 18px;border-bottom:1px solid #eee4d8}
.secret-ai-reference-picker .el-checkbox{height:auto;margin:0;padding:8px;border:1px solid #e8dfd5;border-radius:10px;align-items:center}
.secret-ai-reference-picker .el-checkbox__label{display:flex;align-items:center;gap:8px;min-width:0}
.secret-ai-reference-picker img{width:54px;height:54px;object-fit:contain;border-radius:7px;background:#f7f5f2}
.secret-ai-reference-picker span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ai-plan-three-layer .ai-plan-snapshot-text{min-height:54px;white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.75}
.safe-ai-rich-editor{min-width:0;border:1px solid #d9dfe8;border-radius:8px;background:#fff;overflow:hidden}.safe-ai-rich-editor:focus-within{border-color:#409eff;box-shadow:0 0 0 2px rgba(64,158,255,.12)}.safe-ai-rich-toolbar{display:flex;align-items:center;gap:5px;flex-wrap:wrap;padding:7px 9px;border-bottom:1px solid #edf0f5;background:#f8fafc}.safe-ai-rich-button,.safe-ai-color-button{appearance:none;border:1px solid #d8dee8;border-radius:5px;background:#fff;color:#4b5563;cursor:pointer;height:26px}.safe-ai-rich-button{padding:0 9px;font-size:12px}.safe-ai-rich-button.is-bold{font-weight:800;font-size:15px}.safe-ai-rich-label{margin-left:4px;color:#7a8492;font-size:11px}.safe-ai-color-button{width:24px;padding:0}.safe-ai-color-button.is-highlight{border-color:#c8ced8}.safe-ai-rich-button:hover,.safe-ai-color-button:hover{border-color:#409eff;box-shadow:0 0 0 1px #409eff}.safe-ai-rich-surface{min-height:96px;padding:10px 12px;outline:0;white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.75;color:#303133}.safe-ai-rich-surface:empty:before{content:attr(data-placeholder);color:#a8abb2;pointer-events:none}.ai-plan-layer-group>.safe-ai-rich-editor{margin-top:8px}.ai-plan-rich-snapshot{display:grid;gap:12px;line-height:1.75;overflow-wrap:anywhere}.ai-plan-rich-snapshot>section{padding-top:10px;border-top:1px dashed #e5e7eb}.ai-plan-rich-snapshot>section>div{display:grid;grid-template-columns:minmax(110px,160px) minmax(0,1fr);gap:10px;margin-top:8px}.ai-plan-rich-snapshot label{color:#6b7280;font-weight:600}.ai-plan-keyword-value{white-space:pre-wrap;overflow-wrap:anywhere}
.ai-plan-layer-group{display:grid;gap:8px;margin-top:12px}
.ai-plan-layer-group>.el-textarea+.el-textarea{margin-top:2px}
.ai-plan-content>.secret-ai-major-card{margin:14px 0}.ai-plan-layer-body{padding:14px 0 2px;min-width:0}.ai-plan-layer-body>.ai-plan-images{padding:0 18px}.ai-plan-three-layer .secret-ai-head-actions{justify-content:flex-end;flex-wrap:wrap}.ai-plan-three-layer .secret-ai-planning-row>div>.el-button{margin-top:6px}.secret-ai-head-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}.secret-ai-structure-actions+.el-button{margin-left:8px}
@media(max-width:720px){.secret-ai-reference-filter{align-items:stretch;flex-direction:column;padding:10px}.secret-ai-reference-filter .el-select{width:100%}.secret-ai-reference-picker{grid-template-columns:repeat(2,minmax(0,1fr));padding:10px}.ai-plan-three-layer .ai-plan-section-title{align-items:flex-start}.safe-ai-rich-toolbar{align-items:flex-start}.ai-plan-rich-snapshot>section>div{grid-template-columns:1fr;gap:2px}.ai-plan-three-layer .secret-ai-head-actions{width:100%;justify-content:flex-start}.ai-plan-layer-body>.ai-plan-images{padding:0 12px}}
.visual-reference-source-list button:hover,.visual-reference-source-list button.active{border-color:#b77a31;background:#fbf2e6}
.visual-reference-source-list span,.visual-reference-source-list strong,.visual-reference-source-list small{display:block}.visual-reference-source-list span{font-size:13px}.visual-reference-source-list strong{margin:13px 0 9px;color:#9b5d18;font-size:25px}.visual-reference-source-list i{display:block;height:7px;border-radius:5px;background:#eee5da;overflow:hidden}.visual-reference-source-list i b{display:block;height:100%;border-radius:5px;background:#b47a35}.visual-reference-source-list small{margin-top:9px;color:#978b80;font-size:9px}
.visual-reference-goal small{display:block;margin-top:4px;color:#978b80;font-size:9px}
@media(max-width:1500px){.home-visual-dashboard .visual-v2-filter-panel{display:block}.home-visual-dashboard .visual-v2-filter-panel .visual-dashboard-merged-heading{margin-bottom:12px}.home-visual-dashboard .visual-v2-filter-row{justify-content:flex-start;overflow-x:auto;padding-bottom:3px}.home-visual-dashboard .visual-v2-filter-row>*{flex:0 0 auto}}
@media(max-width:760px){.home-visual-dashboard .visual-v2-filter-row{align-items:center;flex-direction:row}.visual-reference-source-list{grid-template-columns:1fr}.home-visual-dashboard .visual-v2-filter-panel .visual-dashboard-merged-heading{display:block}.home-visual-dashboard .visual-v2-filter-panel .visual-dashboard-heading-actions{margin-top:5px}}
.secret-prompt-section-editor{margin:16px 0;padding:14px;border:1px solid #eadfce;border-radius:10px;background:#fffdf9}
.secret-prompt-section-editor h4{margin:0 0 10px;color:#5f4632}
.secret-variable-toolbar{display:flex;gap:8px;align-items:center;margin-top:8px}.secret-variable-toolbar .el-select{width:180px}
.secret-prompt-highlight,.secret-prompt-read-section{margin-top:8px;padding:10px 12px;line-height:1.75;white-space:pre-wrap;background:#faf7f2;border-radius:8px;color:#5f5f5f}
.secret-variable-token{color:#a3531e;font-weight:800;background:#fff0d8;border-radius:4px;padding:1px 4px}
.secret-prompt-read-section{margin-bottom:10px}.secret-prompt-read-section header{margin-bottom:4px;color:#8a541f}
.secret-ai-detail-section{scroll-margin-top:70px}.secret-ai-section-title{display:flex;align-items:center;justify-content:space-between;gap:12px}.secret-ai-section-title h3{margin:0}.secret-ai-standard-layout{display:grid;gap:18px;margin-top:16px}.secret-ai-major-card{overflow:hidden;border:1px solid #eadfce;border-radius:14px;background:#fffdf9;box-shadow:0 8px 24px rgba(95,65,38,.05)}.secret-ai-major-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding:16px 18px;border-bottom:1px solid #efe5d9;background:#fbf6ef}.secret-ai-major-head>div{display:flex;align-items:flex-start;gap:12px;min-width:0}.secret-ai-major-head>div>span{display:inline-flex;align-items:center;justify-content:center;flex:0 0 34px;width:34px;height:34px;border-radius:10px;background:#a9753d;color:#fff;font-size:14px;font-weight:800}.secret-ai-major-head h4{margin:0;color:#4b3728;font-size:17px}.secret-ai-major-head p{margin:5px 0 0;color:#998d82;font-size:12px;line-height:1.55}.secret-ai-context-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:16px 18px}.secret-ai-context-grid>div{min-width:0;padding:11px 12px;border:1px solid #eadfce;border-radius:9px;background:#fff}.secret-ai-context-grid small{display:block;margin-bottom:6px;color:#998d82}.secret-ai-context-grid b,.secret-ai-context-grid>div>div{display:block;overflow-wrap:anywhere;color:#5f4632;line-height:1.65}.secret-ai-planning-preface{margin:0 18px 14px;padding:14px;border-radius:10px;background:#fff8ee}.secret-ai-planning-preface>label{display:block;margin-bottom:9px;color:#8a541f;font-weight:700}.secret-ai-planning-preface.is-read>div{min-height:28px;white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.8;color:#5f5f5f}.secret-ai-planning-group{margin:0 18px 14px;border:1px solid #ede3d7;border-radius:10px;background:#fff}.secret-ai-planning-group h5{margin:0;padding:10px 13px;border-bottom:1px solid #ede3d7;background:#faf6f1;color:#70491f;font-size:14px}.secret-ai-planning-row{display:grid;grid-template-columns:150px minmax(0,1fr);border-bottom:1px solid #f0e8df}.secret-ai-planning-row:last-child{border-bottom:0}.secret-ai-planning-row>label{padding:14px 12px;color:#5f4632;font-weight:600;background:#fcfaf7}.secret-ai-planning-row>div{min-width:0;padding:10px 12px}.secret-ai-planning-row.is-read>div{min-height:52px;white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.8;color:#5f5f5f}.secret-ai-keyword-card{margin-bottom:2px}.secret-ai-keyword-row{display:grid;grid-template-columns:116px minmax(0,1fr);border-bottom:1px solid #ede3d7}.secret-ai-keyword-row:last-child{border-bottom:0}.secret-ai-keyword-row>header{display:flex;align-items:flex-start;justify-content:space-between;gap:5px;padding:14px 10px;background:#fcfaf7;color:#5f4632}.secret-ai-keyword-row>header .el-button{margin-top:-6px}.secret-ai-keyword-row>div,.secret-ai-keyword-row>.el-textarea{min-width:0;margin:10px 12px}.secret-ai-keyword-row.is-read>div{min-height:74px;white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.8;color:#5f5f5f}.secret-ai-standard-layout textarea,.secret-ai-standard-layout .el-textarea__inner{overflow-y:hidden!important;resize:none}.secret-ai-standard-layout .secret-variable-toolbar{margin-top:8px}.secret-ai-standard-layout .secret-prompt-highlight{overflow:visible;max-height:none}.secret-ai-standard-layout.is-editing .secret-ai-major-card{box-shadow:none}
.secret-scene-picker{display:flex;gap:12px;align-items:flex-start;flex-wrap:wrap}.secret-scene-picker .el-checkbox-group{display:flex;gap:8px;flex-wrap:wrap}
.secret-scene-manager{display:grid;gap:8px;max-height:220px;overflow:auto}.secret-scene-manager-row{display:grid;grid-template-columns:minmax(120px,1fr) minmax(90px,1fr) auto auto;align-items:center;gap:8px;padding:8px 10px;border:1px solid #ebe3d8;border-radius:8px}.secret-scene-manager-row small{color:#999;overflow:hidden;text-overflow:ellipsis}
.secret-request-images{display:flex;gap:10px;flex-wrap:wrap;align-items:flex-start}.secret-request-image{position:relative;width:104px}.secret-request-image img{display:block;width:104px;height:78px;object-fit:cover;border-radius:8px;border:1px solid #eadfce}.secret-request-image span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px}.secret-request-image button{position:absolute;right:-5px;top:-7px;border:0;border-radius:50%;background:#f56c6c;color:#fff;width:20px;height:20px;cursor:pointer}
.secret-standard-choice{display:flex;min-width:0;align-items:flex-start;gap:7px}.secret-standard-choice .el-button{flex:0 0 auto}
.secret-check-choice-list{display:flex;min-width:0;flex:1 1 auto;flex-wrap:wrap;gap:6px}.secret-check-choice{display:inline-flex;align-items:center;gap:6px;max-width:100%;padding:5px 8px;border:1px solid #d8dce5;border-radius:7px;background:#fff;cursor:pointer;transition:border-color .16s,background .16s,color .16s}.secret-check-choice:hover{border-color:#a87540}.secret-check-choice.is-selected{border-color:#67c23a;background:#f0f9eb;color:#2f7a26;font-weight:700}.secret-check-choice input{margin:0;accent-color:#67c23a}.secret-check-choice span{overflow:hidden;text-overflow:ellipsis;white-space:normal;line-height:1.35}
.secret-reference-check-grid{display:grid;grid-template-columns:repeat(3,minmax(72px,1fr));gap:8px}.secret-reference-check{position:relative;display:block;min-width:0;padding:5px;border:2px solid #d8dce5;border-radius:9px;background:#fff;cursor:pointer;overflow:hidden;transition:border-color .16s,background .16s,box-shadow .16s,transform .16s}.secret-reference-check:hover{border-color:#a87540;transform:translateY(-1px)}.secret-reference-check.is-selected{border-color:#67c23a;background:#f0f9eb;box-shadow:0 0 0 2px rgba(103,194,58,.18)}.secret-reference-check>img{display:block;width:100%;aspect-ratio:1/1;object-fit:contain;background:#fff;border-radius:6px}.secret-reference-checkmark{display:none;position:absolute;z-index:1;right:8px;top:8px;width:22px;height:22px;border-radius:50%;align-items:center;justify-content:center;background:#67c23a;color:#fff;font-size:14px;font-weight:800;box-shadow:0 1px 5px rgba(0,0,0,.25)}.secret-reference-check.is-selected .secret-reference-checkmark{display:flex}
.secret-size-editor{width:100%}.secret-size-row{display:grid;grid-template-columns:minmax(120px,1.35fr) repeat(3,minmax(74px,.75fr)) 82px auto;align-items:center;gap:7px;margin-bottom:8px}.secret-size-editor>small{display:block;margin-top:8px;color:#998d82}.secret-size-row input[type=number]{appearance:textfield}.secret-size-row input[type=number]::-webkit-inner-spin-button{appearance:none}
.secret-product-cost-editor{margin:14px 0 18px;padding:14px 16px;border:1px solid #eadfd3;border-radius:10px;background:#fffaf4}.secret-product-cost-editor>header{display:flex;justify-content:space-between;margin-bottom:10px}.secret-product-cost-editor h4{margin:0 0 4px}.secret-product-cost-editor small{color:#998d82}.secret-product-cost-row{display:grid;grid-template-columns:minmax(110px,.7fr) minmax(180px,1.3fr);align-items:center;gap:12px;margin-top:8px}.secret-product-cost-row>b{padding:9px 12px;border-radius:8px;background:#f6eee5;color:#855623}.secret-product-cost-list{display:flex;flex-direction:column;gap:5px}.secret-product-cost-list>span{display:flex;align-items:center;justify-content:space-between;gap:10px;white-space:nowrap}.secret-product-cost-list b{color:#855623}.secret-product-cost-list em{font-style:normal;color:#52565f}.secret-product-cost-list.is-detail{max-width:440px}.secret-product-cost-list.is-detail>span{padding:5px 8px;border-bottom:1px dashed #eadfd3}
.secret-batch-result-count{display:flex;min-width:280px;flex-direction:column;gap:8px;color:#606266}.secret-batch-result-count b{color:#2e7d32;font-size:18px}.secret-batch-result-count span{color:#909399}.secret-batch-result-count small{max-width:380px;line-height:1.6}
.ai-standard-plan-cell{display:flex;align-items:center;gap:6px}.ai-standard-plan-cell .el-button{max-width:150px;overflow:hidden;text-overflow:ellipsis}
.ai-plan-drawer .el-drawer__body{padding:0}.ai-plan-content{padding:18px 22px}.ai-plan-context,.ai-plan-section,.ai-plan-coding{margin-bottom:18px;padding:16px;border:1px solid #e6e0d8;border-radius:12px;background:#fff}.ai-plan-section header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.ai-plan-section textarea{width:100%;min-height:110px;box-sizing:border-box;border:1px solid #dcdfe6;border-radius:8px;padding:10px;line-height:1.65;resize:vertical}.ai-plan-images{display:flex;gap:10px;flex-wrap:wrap}.ai-plan-image{position:relative;width:126px;padding:5px;border:2px solid transparent;border-radius:10px;box-sizing:border-box}.ai-plan-image.is-selected{border-color:#67c23a;background:#f0f9eb}.ai-plan-image>.el-tag{position:absolute;z-index:1;top:8px;left:8px}.ai-plan-image img{width:112px;height:94px;object-fit:cover;border-radius:8px;border:1px solid #ddd}.ai-plan-image .el-button{width:100%}
.ai-plan-context-grid .el-descriptions__label{width:86px}.ai-plan-context-grid .el-descriptions__content{min-width:0}.ai-plan-variable-options{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0 14px;max-height:180px;overflow:auto}.ai-plan-variable-options .el-button{margin-left:0}.ai-plan-image img{cursor:zoom-in}.ai-plan-image-preview img{display:block;max-width:100%;max-height:72vh;margin:auto;object-fit:contain}.ai-plan-section .el-textarea__inner{height:auto!important;overflow-y:hidden!important;resize:vertical;line-height:1.75}.ai-plan-context h3,.ai-plan-section h3{margin-top:0}.ai-plan-planning-snapshot{margin-top:16px;padding:12px;border-radius:8px;background:#faf8f5;color:#5d554e;line-height:1.75}.ai-plan-section-title{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px}.ai-plan-planning-snapshot h4{margin:0;color:#303133}.ai-plan-snapshot-text{white-space:pre-wrap;overflow-wrap:anywhere}.ai-plan-keyword-value{min-height:110px;box-sizing:border-box;padding:10px 12px;border:1px solid #dcdfe6;border-radius:8px;white-space:pre-wrap;overflow:visible;overflow-wrap:anywhere;line-height:1.75;color:#606266;background:#fff}.ai-plan-size-select .el-select__wrapper{height:auto!important;min-height:32px}.ai-plan-size-select .el-select__selected-item,.ai-plan-size-option,.ai-plan-size-value{display:block;max-width:100%;white-space:normal!important;overflow:visible!important;text-overflow:clip!important;overflow-wrap:anywhere;line-height:1.45}
.secret-batch-dialog{max-width:94vw}.secret-batch-inline{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:12px}.secret-batch-inline .el-form-item{margin-bottom:18px}.secret-prompt-section-editor .el-textarea__inner,.ai-plan-section textarea{overflow-y:hidden!important}.secret-visual-standard-group{margin:14px 0;padding:14px;border:1px solid #eadfce;border-radius:12px;background:#fffdf9}.secret-visual-standard-group>header{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.secret-visual-reference-picker{display:grid;grid-template-columns:repeat(5,minmax(70px,1fr));gap:8px;margin-bottom:14px}.secret-visual-reference-picker button{position:relative;min-width:0;padding:5px;border:2px solid #d8dce5;border-radius:9px;background:#fff;cursor:pointer}.secret-visual-reference-picker button.is-selected{border-color:#67c23a;background:#f0f9eb}.secret-visual-reference-picker button>span{display:none;position:absolute;z-index:1;right:7px;top:7px;width:20px;height:20px;border-radius:50%;align-items:center;justify-content:center;background:#67c23a;color:#fff;font-weight:800}.secret-visual-reference-picker button.is-selected>span{display:flex}.secret-visual-reference-picker img{display:block;width:100%;aspect-ratio:1/1;object-fit:contain;background:#fff;border-radius:6px}.secret-visual-reference-picker small{display:block;margin-top:4px;text-align:center}.secret-detail-gallery button{background:#fff}.secret-detail-gallery img{object-fit:contain!important;background:#fff}
@media(max-width:720px){.secret-prompt-section-editor{padding:10px}.secret-variable-toolbar{align-items:stretch}.secret-variable-toolbar .el-select{width:100%}.secret-request-image,.secret-request-image img{width:88px}.secret-request-image img{height:66px}.secret-size-row{grid-template-columns:repeat(2,minmax(0,1fr))}.secret-size-row>.el-button{justify-self:start}.secret-product-cost-row{grid-template-columns:1fr}.secret-standard-choice{align-items:stretch;flex-direction:column}.secret-reference-check-grid{grid-template-columns:minmax(230px,1fr)}.secret-batch-result-count{min-width:0}.ai-plan-content{padding:12px}.ai-plan-drawer{width:96%!important}.ai-plan-context-grid .el-descriptions__table{table-layout:auto}.ai-plan-variable-dialog{width:94%!important}.ai-plan-image-preview{width:94%!important}.secret-batch-inline{grid-template-columns:1fr}.secret-visual-reference-picker{grid-template-columns:repeat(3,minmax(70px,1fr))}.secret-ai-section-title,.secret-ai-major-head{align-items:flex-start;flex-direction:column}.secret-ai-context-grid{grid-template-columns:1fr}.secret-ai-planning-row,.secret-ai-keyword-row{grid-template-columns:1fr}.secret-ai-planning-row>label,.secret-ai-keyword-row>header{border-bottom:1px solid #f0e8df}.secret-ai-keyword-row>header{align-items:center}.secret-ai-keyword-row>header .el-button{margin-top:0}.secret-ai-major-head,.secret-ai-context-grid{padding-left:12px;padding-right:12px}.secret-ai-planning-group,.secret-ai-planning-preface{margin-left:12px;margin-right:12px}}

/* SECRET-CARD-VISUAL-STANDARD-005：产品名称主标识，参考图缩略图在上一版基础上缩小 50%。 */
.secret-product-name{max-width:100%;overflow:hidden;font-size:16px!important;font-weight:700;text-overflow:ellipsis}
.secret-image-sort-list .secret-image-item{width:50px}
.secret-image-sort-list .secret-image-thumb{width:46px;height:46px;border-radius:7px;box-shadow:0 2px 6px rgba(81,57,34,.08)}
.secret-image-sort-list .secret-image-drag{left:2px;top:2px;width:17px;height:16px;border-radius:4px;font-size:9px}
.secret-image-sort-list .secret-image-delete{right:2px;top:2px;width:18px;height:18px;font-size:15px;line-height:16px}
.secret-image-upload,.secret-image-upload .el-upload{width:50px}
.secret-image-upload-button{width:50px;height:46px;border-radius:7px;gap:1px}
.secret-image-upload-button b{font-size:17px;line-height:16px}.secret-image-upload-button span{font-size:9px}
.secret-reference-check-grid{display:flex;align-items:flex-start;flex-wrap:wrap;gap:6px}
.secret-reference-check{flex:0 0 44px;width:44px;height:44px;padding:2px;border-radius:7px}
.secret-reference-check>img{width:36px;height:36px;aspect-ratio:auto}
.secret-reference-checkmark{right:3px;top:3px;width:14px;height:14px;font-size:10px}
.secret-visual-reference-picker{display:flex;flex-wrap:wrap;gap:7px}
.secret-visual-reference-picker button{flex:0 0 48px;width:48px;padding:2px;border-radius:7px}
.secret-visual-reference-picker img{width:40px;height:40px;aspect-ratio:auto}
.secret-visual-reference-picker button>span{right:3px;top:3px;width:14px;height:14px;font-size:10px}
.secret-visual-reference-picker small{margin-top:2px;font-size:10px}
.secret-detail-gallery{display:flex;flex-wrap:wrap;gap:8px}
.secret-detail-gallery button{flex:0 0 53px;width:53px;border-radius:7px}
.secret-detail-gallery img{width:51px;height:51px;aspect-ratio:auto}
.secret-detail-gallery span{padding:4px 2px;font-size:10px}
.secret-visual-reference-picker button.is-existing{opacity:.62;cursor:not-allowed}
.secret-visual-reference-picker button>em{position:absolute;z-index:2;left:1px;top:1px;padding:1px 3px;border-radius:4px;color:#fff;background:#909399;font-size:9px;font-style:normal}
.secret-visual-group-name{padding:10px 12px;border-radius:8px;background:#faf7f2;color:#655a50}
.secret-visual-group-dialog{max-width:94vw}
@media(max-width:720px){.secret-reference-check-grid,.secret-visual-reference-picker{display:flex;grid-template-columns:none}.secret-reference-check{flex-basis:44px;width:44px}.secret-visual-reference-picker button{flex-basis:48px;width:48px}}

/* BIGBRAIN-WORK-ORDER-FOLDER-LINK-001：工单链路自动回填设置。 */
.ear-folder-link-settings{padding:4px 0 20px}.ear-folder-setting-list{display:grid;gap:9px}.ear-folder-setting-row{display:flex;min-width:0;align-items:center;justify-content:space-between;gap:14px;padding:12px 14px;border:1px solid #e8e1d9;border-radius:10px;background:#fff}.ear-folder-setting-row>div:first-child{display:flex;min-width:0;align-items:center;gap:9px;flex-wrap:wrap}.ear-folder-setting-row b{color:#5e5044}.ear-folder-setting-row small{display:block;min-width:0;max-width:760px;overflow:hidden;color:#8c8177;text-overflow:ellipsis;white-space:nowrap}.ear-folder-setting-row em{display:block;width:100%;color:#d05b51;font-size:12px;font-style:normal}.ear-folder-setting-actions{display:flex;flex:0 0 auto;align-items:center;gap:8px}.ear-folder-setting-row.is-job>div:first-child{flex:1 1 auto}
@media(max-width:640px){.ear-folder-setting-row{align-items:stretch;flex-direction:column}.ear-folder-setting-row>div:first-child{align-items:flex-start;flex-direction:column;gap:5px}.ear-folder-setting-row small{max-width:100%;white-space:normal;overflow-wrap:anywhere}.ear-folder-setting-actions{justify-content:space-between}.ear-folder-setting-row>.el-button{align-self:flex-start}}
.secret-ai-planning-viewer-body{min-height:120px;max-height:68vh;overflow:auto;padding-right:4px}
.battle-ai-planning-link{display:inline-flex;align-items:center;padding:0;border:0;background:transparent;color:var(--el-color-primary,#409eff);font:inherit;font-size:12px;line-height:1;cursor:pointer}.battle-ai-planning-link:hover,.battle-ai-planning-link:focus-visible{color:var(--el-color-primary-light-3,#79bbff);text-decoration:underline}.battle-ai-planning-link:focus-visible{outline:2px solid var(--el-color-primary-light-5,#a0cfff);outline-offset:3px;border-radius:2px}
.secret-ai-planning-viewer-item{border:1px solid #e4e7ed;border-radius:12px;padding:16px;margin-bottom:14px;background:#fff}
.secret-ai-planning-viewer-item>header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;border-bottom:1px solid #ebeef5;padding-bottom:10px;margin-bottom:12px}
.secret-ai-planning-viewer-item>header>div{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.secret-ai-planning-viewer-item>header small{color:#909399;text-align:right}
.secret-ai-planning-viewer-preface strong,.secret-ai-planning-viewer-group h4{color:#303133}
.secret-ai-planning-viewer-preface p{white-space:pre-wrap;line-height:1.7;color:#606266;margin:8px 0 14px}
.secret-ai-planning-viewer-group{border-top:1px dashed #dcdfe6;padding-top:12px;margin-top:12px}
.secret-ai-planning-viewer-group h4{margin:0 0 10px;font-size:15px}
.secret-ai-planning-viewer-group dl{display:grid;grid-template-columns:minmax(120px,180px) minmax(0,1fr);margin:0}
.secret-ai-planning-viewer-group dt,.secret-ai-planning-viewer-group dd{padding:9px 10px;border-bottom:1px solid #f0f2f5;line-height:1.6}
.secret-ai-planning-viewer-group dt{font-weight:600;color:#606266;background:#fafafa}
.secret-ai-planning-viewer-group dd{margin:0;white-space:pre-wrap;color:#303133}
@media(max-width:680px){.secret-ai-planning-viewer-item>header{display:block}.secret-ai-planning-viewer-item>header small{display:block;text-align:left;margin-top:8px}.secret-ai-planning-viewer-group dl{grid-template-columns:1fr}.secret-ai-planning-viewer-group dt{border-bottom:0}.secret-ai-planning-viewer-group dd{padding-top:2px}}
.secret-anime-edit-image .el-input{width:64px}.secret-anime-edit-image .el-input__wrapper{padding:0 5px}.secret-anime-edit-image .el-input__inner{font-size:11px;text-align:center}
.secret-category-list button.has-material-ai,.secret-category-list button.has-material-ai .secret-category-code{font-weight:800}.secret-anime-characters{display:flex;align-items:flex-start;gap:7px;min-width:0}.secret-anime-character{display:flex;flex:0 0 56px;min-width:0;padding:0;border:0;background:transparent;flex-direction:column;align-items:center;gap:4px;cursor:pointer}.secret-anime-character img{width:48px;height:48px;border:1px solid #e5d8ca;border-radius:8px;background:#fff;object-fit:cover}.secret-anime-character span{display:block;width:56px;overflow:hidden;color:#655a50;font-size:11px;text-align:center;text-overflow:ellipsis;white-space:nowrap}.secret-anime-more{flex:0 0 38px;height:38px;margin:5px 0 0 -12px;border:2px solid #fff;border-radius:50%;background:#855623;color:#fff;font-weight:700;cursor:pointer;box-shadow:0 2px 8px rgba(95,65,38,.2)}.secret-anime-characters:not(.is-expanded) .secret-anime-character:nth-child(n+2){margin-left:-13px}.secret-anime-characters.is-expanded{flex-wrap:wrap}.secret-anime-characters.is-expanded .secret-anime-character{margin-left:0}.secret-anime-form-grid,.secret-packaging-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 16px}.secret-age-range{display:flex;align-items:center;gap:8px}.secret-age-range .el-input-number{width:150px}.secret-anime-editor{display:flex;align-items:flex-start;gap:10px;flex-wrap:wrap;width:100%}.secret-anime-edit-image{position:relative;display:flex;width:72px;flex-direction:column;gap:4px}.secret-anime-edit-image img{width:64px;height:64px;border:1px solid #e5d8ca;border-radius:8px;object-fit:cover}.secret-anime-edit-image span{width:64px;overflow:hidden;font-size:11px;text-align:center;text-overflow:ellipsis;white-space:nowrap}.secret-anime-edit-image button{position:absolute;right:3px;top:3px;width:20px;height:20px;padding:0;border:0;border-radius:50%;background:rgba(0,0,0,.65);color:#fff;cursor:pointer}.secret-anime-editor small{flex:1 0 100%;color:#998d82}.secret-packaging-spec{margin-top:10px;padding:14px 16px;border:1px solid #eadfd3;border-radius:10px;background:#fffaf4}.secret-packaging-spec h4{margin:0 0 12px}.secret-packaging-spec small{color:#998d82}.secret-volume-result{margin-left:18px;color:#855623}.secret-anime-card .el-table{min-width:880px}@media(max-width:760px){.secret-anime-form-grid,.secret-packaging-grid{grid-template-columns:1fr}.secret-age-range{align-items:flex-start;flex-direction:column}.secret-age-range .el-input-number{width:100%}.secret-anime-dialog{width:94%!important}.secret-anime-card{overflow-x:auto}.secret-anime-characters{min-width:300px}}
.secret-anime-characters:not(.is-expanded) .secret-anime-character:nth-child(n+6){display:none}.secret-anime-edit-image{width:118px;gap:5px}.secret-anime-edit-image .secret-anime-name-save{position:static!important;width:100%;height:28px;padding:5px 10px;border:1px solid var(--el-color-primary);border-radius:4px;background:var(--el-color-primary-light-9);color:var(--el-color-primary)}.secret-anime-edit-image .secret-anime-image-delete{position:absolute;right:3px;top:3px;width:20px;height:20px;padding:0;border:0;border-radius:50%;background:rgba(0,0,0,.65);color:#fff;cursor:pointer}
.secret-anime-details{flex:0 0 42px;min-width:38px;margin-left:-12px}.secret-anime-details summary{display:flex;width:38px;height:38px;margin-top:5px;border:2px solid #fff;border-radius:50%;background:#855623;color:#fff;font-weight:700;cursor:pointer;box-shadow:0 2px 8px rgba(95,65,38,.2);align-items:center;justify-content:center;list-style:none}.secret-anime-details summary::-webkit-details-marker{display:none}.secret-anime-details-less{display:none;font-size:11px}.secret-anime-details[open]{flex:1 0 100%;margin:8px 0 0}.secret-anime-details[open] summary{width:56px;height:28px;margin:0 0 8px;border-width:1px;border-radius:14px}.secret-anime-details[open] .secret-anime-details-more{display:none}.secret-anime-details[open] .secret-anime-details-less{display:inline}.secret-anime-extra{display:flex;gap:7px;flex-wrap:wrap}.secret-anime-extra .secret-anime-character{display:flex!important;margin-left:0!important}
.secret-jst-select{display:flex;gap:8px;align-items:flex-start}.secret-jst-select .el-select{min-width:0;flex:1}.secret-jst-manager{max-height:260px;overflow:auto;margin-top:14px;border:1px solid #eadfd3;border-radius:9px}.secret-jst-manager-row{display:flex;align-items:center;gap:9px;min-height:42px;padding:0 12px;border-bottom:1px solid #f0e8df}.secret-jst-manager-row:last-child{border-bottom:0}.secret-jst-manager-row b{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.secret-bundle-editor{margin:14px 0;padding:14px 16px;border:1px solid #eadfd3;border-radius:10px;background:#fffaf4}.secret-bundle-editor>header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:12px}.secret-bundle-editor h4{margin:0 0 4px}.secret-bundle-editor small,.secret-bundle-empty{color:#998d82}.secret-bundle-row{display:grid;grid-template-columns:36px minmax(180px,1fr) minmax(130px,.38fr) auto;gap:8px;align-items:center;padding:8px 0;border-top:1px dashed #eadfd3}.secret-bundle-row>span{color:#998d82;text-align:center}.secret-bundle-detail-content{display:block;width:100%;min-width:0}.secret-bundle-detail-table{width:100%;max-width:none;margin-bottom:8px;border-collapse:collapse;table-layout:fixed}.secret-bundle-detail-table th,.secret-bundle-detail-table td{padding:7px 9px;border:1px solid #eadfd3;text-align:left;overflow-wrap:anywhere;word-break:break-word}.secret-bundle-detail-table th:first-child,.secret-bundle-detail-table td:first-child{width:76%}.secret-bundle-detail-table th{background:#f7f1ea;color:#655a50}@media(max-width:760px){.secret-jst-select,.secret-bundle-editor>header{align-items:stretch;flex-direction:column}.secret-bundle-row{grid-template-columns:28px minmax(0,1fr) minmax(0,.55fr) auto}.secret-jst-manager-row{flex-wrap:wrap}.secret-bundle-detail-table{min-width:0}.secret-bundle-detail-table th:first-child,.secret-bundle-detail-table td:first-child{width:auto}}

/* SECRET-ANIME-CHARACTER-NAME-FIRST-007：动漫人物姓名优先，照片可选。 */
.secret-anime-name-avatar{display:flex;width:48px;height:48px;border:1px solid #dfccb7;border-radius:8px;background:#fff5e9;color:#855623;font-size:18px;font-style:normal;font-weight:700;align-items:center;justify-content:center}.secret-anime-character.is-name-only{flex-basis:auto;min-width:64px}.secret-anime-character.is-name-only span{width:auto;max-width:96px}.secret-anime-edit-person{position:relative;display:grid;grid-template-columns:64px minmax(150px,1fr);gap:7px 9px;width:270px;padding:9px;border:1px solid #eadfd3;border-radius:9px;background:#fffaf4}.secret-anime-edit-person>img,.secret-anime-edit-person>.secret-anime-name-avatar{width:64px;height:64px;grid-row:span 2}.secret-anime-edit-person .el-input{min-width:0}.secret-anime-person-actions{display:flex;min-width:0;align-items:center;gap:4px;flex-wrap:wrap}.secret-anime-person-actions .el-upload{display:inline-flex}.secret-anime-person-actions .secret-anime-name-save{width:auto;height:auto;padding:5px 9px}@media(max-width:760px){.secret-anime-edit-person{width:100%;max-width:340px}.secret-anime-character.is-name-only span{max-width:72px}}

/* SECRET-RENEWAL-SPECIAL-MODULE-001：一级编码0的焕新独立策划表。 */
.secret-renewal-scroll{width:100%;overflow-x:auto}.secret-renewal-table{min-width:1240px}.secret-renewal-table .el-table__cell{vertical-align:middle}.secret-renewal-cell{min-height:30px;min-width:0}.secret-renewal-cell .el-select,.secret-renewal-cell .el-input,.secret-renewal-cell .el-input-number{width:100%}.secret-renewal-cell .el-input-number .el-input__wrapper{padding-right:3px}.secret-renewal-cell.is-locked{color:#8a8074;background:#faf9f7;border-radius:4px;padding:3px 4px}.secret-renewal-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 16px}.secret-renewal-form .el-select,.secret-renewal-form .el-input-number{width:100%}.secret-renewal-field-list{display:grid;gap:8px}.secret-renewal-field-item{display:grid;grid-template-columns:minmax(130px,1fr) 130px 24px 24px;align-items:center;gap:6px;padding:7px 8px;border:1px solid #eee3d8;border-radius:7px}.secret-renewal-field-item.is-fixed{background:#fbf7f2;color:#6f6256;font-weight:600}.secret-renewal-field-item .el-checkbox{margin-right:0}@media(max-width:760px){.secret-renewal-form-grid{grid-template-columns:1fr}.secret-renewal-card{overflow:hidden}.secret-renewal-field-item{grid-template-columns:minmax(110px,1fr) 105px 22px 22px}.secret-renewal-field-item .el-input-number{width:105px}.secret-renewal-table{min-width:1180px}.secret-renewal-cell .el-select{min-width:120px}}
.secret-renewal-sequence{display:block;text-align:center;font-variant-numeric:tabular-nums}.secret-renewal-add-row{display:flex;min-width:50px;min-height:39px;align-items:center;justify-content:center;border-right:1px solid var(--el-table-border-color,#ebeef5);background:#fff}.secret-renewal-table .el-table__append-wrapper{background:#fff}.secret-renewal-table .el-table__append-wrapper .secret-renewal-add-row .design-quick-add-trigger{margin:2px auto}.secret-renewal-id-cell{display:flex;min-width:0;align-items:center;gap:8px}.secret-renewal-id-cell>.el-input{min-width:0;flex:1}.secret-renewal-id-cell>.el-button{flex:0 0 auto;margin:0}.secret-renewal-id-cell>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.secret-renewal-table th.el-table-column--selection::after{position:absolute;z-index:8;top:0;right:-4px;width:9px;height:100%;content:"";cursor:col-resize}.secret-renewal-table.is-selection-resizing,.secret-renewal-table.is-selection-resizing *{cursor:col-resize!important;user-select:none!important}
.warehouse-packaging-page{min-height:calc(100vh - 150px)}
.warehouse-packaging-head{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin-bottom:22px}
.warehouse-packaging-head h2{margin:0 0 8px;font-size:28px;color:#3b2c22}
.warehouse-packaging-head p{margin:0;color:#8c8178;line-height:1.7}
.warehouse-packaging-toolbar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:18px}
.warehouse-packaging-toolbar>.el-input{width:280px}
.warehouse-volume{display:block;color:#9a8d82;margin-top:5px}
.warehouse-packaging-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 20px}
.warehouse-packaging-subtitle{margin:10px 0 18px;padding-left:10px;border-left:4px solid #b47a35;color:#5f412a}
@media (max-width:760px){.warehouse-packaging-head{display:block}.warehouse-packaging-head .el-button{margin-top:14px}.warehouse-packaging-toolbar>.el-input{width:100%}.warehouse-packaging-form-grid{grid-template-columns:1fr}.warehouse-packaging-dialog .el-form-item{display:block}.warehouse-packaging-dialog .el-form-item__label{width:auto!important}.warehouse-packaging-dialog .el-form-item__content{margin-left:0!important}}

/* BIGBRAIN-APP-MERGE-REDESIGN-001：大聪明三模块统一入口。 */
.bigbrain-hub{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:0 0 18px;padding:16px 20px;border:1px solid #dce9df;border-radius:14px;background:linear-gradient(105deg,#f8fcf8,#fff)}
.bigbrain-hub-copy{display:flex;min-width:200px;flex-direction:column;gap:4px}.bigbrain-hub-copy strong{color:#245b40;font-size:20px}.bigbrain-hub-copy span{color:#7b8c80;font-size:13px;line-height:1.5}
.bigbrain-section-nav{display:grid;flex:1;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.bigbrain-section-nav button{display:flex;min-width:0;padding:11px 13px;border:1px solid #dfe6e1;border-radius:10px;background:#fff;color:#56645b;text-align:left;cursor:pointer;flex-direction:column;gap:3px}.bigbrain-section-nav button:hover{border-color:#82bb93;background:#f7fcf8}.bigbrain-section-nav button.active{border-color:#53a66a;background:#edf8f0;color:#23673b;box-shadow:0 3px 10px rgba(61,132,81,.12)}.bigbrain-section-nav b{font-size:15px}.bigbrain-section-nav small{overflow:hidden;color:inherit;font-size:12px;opacity:.8;text-overflow:ellipsis;white-space:nowrap}
@media(max-width:980px){.bigbrain-hub{align-items:stretch;flex-direction:column}.bigbrain-hub-copy{min-width:0}.bigbrain-section-nav{width:100%}}
@media(max-width:760px){.bigbrain-hub{margin-bottom:12px;padding:14px}.bigbrain-section-nav{grid-template-columns:1fr}.bigbrain-section-nav button{padding:10px 12px;flex-direction:row;align-items:center;justify-content:space-between}.bigbrain-section-nav small{max-width:55%}}
.el-table th.tmall-attention-metric-header .cell{color:#f56c6c!important;font-weight:700}

/* SECRET-AI-PROMPT-STRUCTURE-20260827-001：三层提示词结构排序与窄屏操作。 */
.secret-ai-planning-group[draggable="true"]{cursor:grab}.secret-ai-planning-group[draggable="true"]:active{cursor:grabbing}.secret-ai-planning-group>h5{display:flex;align-items:center;gap:8px}.secret-ai-structure-actions{display:inline-flex;align-items:center;gap:2px;margin-left:auto;white-space:nowrap}.secret-ai-planning-group>h5>.el-input{min-width:160px;max-width:420px}
@media(max-width:720px){.secret-ai-structure-actions{width:100%;margin-left:0;justify-content:flex-end}.secret-ai-planning-group>h5{flex-wrap:wrap}.secret-ai-planning-group>h5>.el-input{width:100%;max-width:none}}

/* 视觉业务看板 v3：确认概念图的白底、深蓝、橙色流转与绿色结果系统。 */
.home-visual-dashboard.visual-dashboard-v3{--v3-ink:#0f2340;--v3-muted:#61718a;--v3-line:#dfe5ed;--v3-orange:#cf6500;--v3-blue:#1769d2;--v3-green:#3f9b5f;margin:0;padding:20px;border:1px solid var(--v3-line);border-radius:14px;background:#fff;color:var(--v3-ink);box-shadow:none}
.visual-v3-toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:14px}.visual-v3-toolbar h2,.visual-v3-flow h3,.visual-v3-kpis h3,.visual-v3-panel h3{margin:0;color:var(--v3-ink);font-weight:700}.visual-v3-toolbar h2{font-size:21px;white-space:nowrap}.visual-v3-filters{display:flex;min-width:0;align-items:center;justify-content:flex-end;gap:8px}.visual-v3-filters .el-input__wrapper,.visual-v3-reset{min-height:36px;border-radius:7px}.visual-v3-periods{display:flex}.visual-v3-periods button{height:36px;padding:0 13px;border:1px solid var(--v3-line);background:#fff;color:#4d5d73;font:inherit;font-size:13px;cursor:pointer}.visual-v3-periods button:first-child{border-radius:7px 0 0 7px}.visual-v3-periods button:last-child{border-radius:0 7px 7px 0}.visual-v3-periods button+button{margin-left:-1px}.visual-v3-periods button.active{position:relative;z-index:1;border-color:var(--v3-orange);background:var(--v3-orange);color:#fff}.visual-v3-month{width:124px!important}
.visual-v3-snapshot,.visual-v3-flow,.visual-v3-kpis,.visual-v3-panel{border:1px solid var(--v3-line);border-radius:10px;background:#fff}.visual-v3-snapshot{position:relative;margin-bottom:12px;padding:14px 18px 16px;border-color:#f0ded0}.visual-v3-snapshot::before{position:absolute;top:0;bottom:0;left:0;width:4px;border-radius:10px 0 0 10px;background:var(--v3-orange);content:''}.visual-v3-snapshot header{display:flex;align-items:center;gap:18px;margin-bottom:10px;padding-left:4px}.visual-v3-snapshot header strong{font-size:17px}.visual-v3-snapshot header span{color:var(--v3-muted);font-size:12px}.visual-v3-snapshot>div{display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}.visual-v3-snapshot article{min-width:0;padding:0 38px;border-right:1px solid var(--v3-line)}.visual-v3-snapshot article:last-child{border-right:0}.visual-v3-snapshot article span,.visual-v3-snapshot article b,.visual-v3-snapshot article small{display:block}.visual-v3-snapshot article span{color:#203857;font-size:13px}.visual-v3-snapshot article b{margin-top:5px;color:#071b3b;font-size:29px;line-height:1}.visual-v3-snapshot article small{margin-top:-16px;margin-left:36px;color:var(--v3-muted);font-size:11px;white-space:nowrap}
.visual-v3-flow{margin-bottom:12px;padding:14px 18px}.visual-v3-flow>h3,.visual-v3-kpis>h3{font-size:16px}.visual-v3-flow-track{display:grid;max-width:1260px;margin:14px auto 0;grid-template-columns:minmax(210px,1fr) 118px minmax(240px,1.1fr) 118px minmax(190px,.86fr);align-items:center}.visual-v3-stage{min-height:138px;padding:15px 17px;border:1px solid #ebcda9;border-radius:9px;background:#fffdfa;box-sizing:border-box;cursor:pointer}.visual-v3-stage:focus-visible,.visual-v3-stage:hover{outline:0;box-shadow:0 6px 18px rgba(33,74,126,.09);transform:translateY(-1px)}.visual-v3-stage.stage-design{border-color:#bcd5f5;background:#fbfdff}.visual-v3-stage.stage-completed{border-color:#b9dfc7;background:#fbfffc}.visual-v3-stage header{display:flex;align-items:center;gap:13px}.visual-v3-stage header>span,.visual-v3-stage header>i{display:grid;width:38px;height:38px;flex:0 0 38px;place-items:center;border-radius:50%;background:#fff0df;color:var(--v3-orange);font-size:16px;font-style:normal;font-weight:800}.visual-v3-stage.stage-design header>span{background:#eaf3ff;color:var(--v3-blue)}.visual-v3-stage.stage-completed header>i{background:var(--v3-green);color:#fff;font-size:24px}.visual-v3-stage header strong,.visual-v3-stage header b,.visual-v3-stage header em{display:block}.visual-v3-stage header strong{font-size:15px}.visual-v3-stage header b{margin-top:2px;font-size:21px}.visual-v3-stage header b small{font-size:11px;font-weight:400}.visual-v3-stage header em{margin-top:4px;color:var(--v3-muted);font-size:11px;font-style:normal}.visual-v3-stage-metrics{display:grid;margin-top:10px;padding-top:9px;border-top:1px dotted #d6dde8;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.visual-v3-stage-metrics span,.visual-v3-stage-metrics b{display:block;white-space:nowrap}.visual-v3-stage-metrics span{color:var(--v3-muted);font-size:11px}.visual-v3-stage-metrics b{margin-top:3px;font-size:15px}.visual-v3-stage-metrics b small{font-size:9px;font-weight:400}.visual-v3-arrow{display:flex;flex-direction:column;align-items:center;gap:7px;color:#41526b}.visual-v3-arrow span{font-size:11px}.visual-v3-arrow i{position:relative;width:70px;height:2px;background:var(--v3-orange)}.visual-v3-arrow i::after{position:absolute;top:50%;right:-1px;border-top:5px solid transparent;border-bottom:5px solid transparent;border-left:9px solid var(--v3-orange);content:'';transform:translateY(-50%)}
.visual-v3-kpis{margin-bottom:12px;padding-top:10px}.visual-v3-kpis>h3{padding:0 18px 8px}.visual-v3-kpis>div{display:grid;grid-template-columns:repeat(5,minmax(0,1fr))}.visual-v3-kpis article{min-height:76px;padding:10px 22px;border-right:1px solid var(--v3-line)}.visual-v3-kpis article:last-child{border-right:0}.visual-v3-kpis article span,.visual-v3-kpis article b,.visual-v3-kpis article small{display:block}.visual-v3-kpis article span{color:var(--v3-muted);font-size:12px}.visual-v3-kpis article b{margin-top:6px;color:#071b3b;font-size:24px}.visual-v3-kpis article b.accent{color:var(--v3-orange)}.visual-v3-kpis article b small{display:inline;font-size:12px;font-weight:400}.visual-v3-kpis article>small{margin-top:3px;color:var(--v3-muted);font-size:10px}
.visual-v3-main-grid{display:grid;grid-template-columns:minmax(0,1.18fr) minmax(540px,.92fr);gap:12px}.visual-v3-panel{min-width:0;overflow:hidden}.visual-v3-panel>header{display:flex;min-height:48px;align-items:center;justify-content:space-between;padding:0 16px;border-bottom:1px solid var(--v3-line)}.visual-v3-panel h3{font-size:16px}.visual-v3-trend-panel>header>div{display:flex;gap:18px;color:var(--v3-muted);font-size:11px}.visual-v3-trend-panel>header span{display:flex;align-items:center;gap:6px}.visual-v3-trend-panel>header i.bar{width:9px;height:9px;background:#e2a15d}.visual-v3-chart{position:relative;height:212px;margin:12px 16px 0;border-bottom:1px solid var(--v3-line)}.visual-v3-bars{position:absolute;inset:0;display:flex;align-items:flex-end;gap:5px;padding-top:14px}.visual-v3-bars>div{display:grid;min-width:16px;height:100%;flex:1;grid-template-rows:minmax(0,1fr) 26px;align-items:end;text-align:center}.visual-v3-bars i{display:block;width:52%;min-height:2px;margin:0 auto;background:linear-gradient(180deg,#f0bc82,#db8d3d)}.visual-v3-bars span{padding-top:6px;color:#75849a;font-size:9px;white-space:nowrap}.visual-v3-trend-panel footer{display:grid;margin:10px 14px 12px;border:1px solid var(--v3-line);border-radius:7px;grid-template-columns:repeat(3,1fr)}.visual-v3-trend-panel footer div{padding:9px 16px;border-right:1px solid var(--v3-line)}.visual-v3-trend-panel footer div:last-child{border-right:0}.visual-v3-trend-panel footer span,.visual-v3-trend-panel footer b{display:block}.visual-v3-trend-panel footer span{color:var(--v3-muted);font-size:10px}.visual-v3-trend-panel footer b{margin-top:4px;font-size:16px}
.visual-v3-snapshot article>small{margin:7px 0 0;line-height:1.4;white-space:normal;overflow-wrap:anywhere}
.visual-v3-count-chart{overflow-x:auto;overflow-y:hidden}.visual-v3-count-chart .visual-v3-bars{position:static;height:100%;box-sizing:border-box;padding-top:24px}.visual-v3-bar-plot{display:flex;height:100%;min-height:0;align-items:flex-end}.visual-v3-count-chart .visual-v3-bar-plot i{position:relative;min-height:0;font-style:normal}.visual-v3-bar-count{position:absolute;bottom:100%;left:50%;transform:translateX(-50%);padding-bottom:4px;color:#41526b;font-size:11px;line-height:16px;white-space:nowrap}
.visual-v3-table-wrap{overflow-x:auto}.visual-v3-table-wrap table{width:100%;min-width:650px;border-collapse:collapse}.visual-v3-table-wrap th,.visual-v3-table-wrap td{height:48px;padding:0 12px;border-right:1px solid var(--v3-line);border-bottom:1px solid var(--v3-line);font-size:12px;text-align:center;white-space:nowrap}.visual-v3-table-wrap th:first-child,.visual-v3-table-wrap td:first-child{text-align:left}.visual-v3-table-wrap th{background:#fbfcfe;color:var(--v3-muted);font-weight:500}.visual-v3-table-wrap td{color:#243750}.visual-v3-table-wrap td b{color:#0e2d57}.visual-v3-table-wrap td button{width:30px;height:30px;border:0;background:transparent;color:#4c6688;font-size:23px;cursor:pointer}.visual-v3-table-wrap tr:hover td{background:#f8fbff}
.visual-v3-table-wrap td.visual-empty{display:table-cell;height:138px;min-height:0;text-align:center}.visual-v3-bars>div:not(:nth-child(5n+1)):not(:last-child)>span{visibility:hidden}
.visual-v3-count-chart.is-monthly .visual-v3-bars>div>span{visibility:visible}.visual-v3-period-note{margin:0 0 12px;color:#65758b;font-size:12px;line-height:1.6;overflow-wrap:anywhere}.visual-v3-month-error{color:#c45656;font-size:12px}.visual-v3-filters .visual-v3-month{width:180px!important}
@media(max-width:1500px){.visual-v3-toolbar{align-items:flex-start;flex-direction:column}.visual-v3-filters{width:100%;justify-content:flex-start;overflow-x:auto;padding-bottom:3px}.visual-v3-filters>*{flex:0 0 auto}.visual-v3-main-grid{grid-template-columns:1fr}}
@media(max-width:980px){.visual-v3-snapshot>div{grid-template-columns:repeat(2,1fr);row-gap:14px}.visual-v3-snapshot article:nth-child(2){border-right:0}.visual-v3-flow-track{grid-template-columns:1fr;gap:8px}.visual-v3-arrow{min-height:50px;justify-content:center}.visual-v3-arrow i{width:2px;height:28px}.visual-v3-arrow i::after{top:auto;right:50%;bottom:-1px;border-top:9px solid var(--v3-orange);border-right:5px solid transparent;border-bottom:0;border-left:5px solid transparent;transform:translateX(50%)}.visual-v3-kpis>div{grid-template-columns:repeat(2,1fr)}.visual-v3-kpis article{border-bottom:1px solid var(--v3-line)}.visual-v3-kpis article:nth-child(2n){border-right:0}.visual-v3-kpis article:last-child{grid-column:1/-1;border-bottom:0}}
@media(max-width:620px){.home-visual-dashboard.visual-dashboard-v3{padding:12px}.visual-v3-toolbar h2{font-size:19px}.visual-v3-snapshot article{padding:0 14px}.visual-v3-snapshot article b{font-size:24px}.visual-v3-stage-metrics{grid-template-columns:repeat(2,1fr)}.visual-v3-kpis>div{grid-template-columns:1fr}.visual-v3-kpis article{border-right:0}.visual-v3-main-grid{display:block}.visual-v3-panel+.visual-v3-panel{margin-top:12px}.visual-v3-chart{height:190px}.visual-v3-trend-panel>header{align-items:flex-start;flex-direction:column;padding:10px 14px;gap:8px}}
/* 声音池 Codex 执行与设备登记弹窗：窄屏占 94%，桌面保持紧凑。 */
.ear-codex-start-dialog{max-width:680px}
.ear-codex-release-dialog{max-width:760px}
.ear-codex-release-target{display:flex;flex-direction:column;gap:4px;margin:16px 0 10px;padding:12px 14px;border:1px solid #dbe9de;border-radius:10px;background:#f7fbf8}.ear-codex-release-target span{color:#7b8c80;font-size:12px}
.ear-codex-release-evidence{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:14px}.ear-codex-release-evidence>span{color:#5c6f62;font-weight:600}
.ear-codex-release-form small{display:block;width:100%;margin-top:4px;color:#909399;line-height:1.45}
.ear-device-dialog{max-width:560px}
@media(max-width:720px){.ear-codex-release-dialog .el-form-item{display:block}.ear-codex-release-dialog .el-form-item__label{width:auto!important}.ear-codex-release-dialog .el-form-item__content{margin-left:0!important}.ear-codex-release-evidence{align-items:flex-start;flex-direction:column}.ear-codex-release-dialog .el-dialog__footer .el-button{white-space:normal}}

/* 兵工厂全量数据保留在客户端，仅渲染当前滚动窗口；占位行维持原滚动高度。 */
.factory-virtual-spacer-row{pointer-events:none}
.factory-virtual-spacer-row>td{padding-top:0!important;padding-bottom:0!important;border-bottom:0!important;background:transparent!important}
.factory-virtual-spacer-row .cell{height:100%;min-height:1px;visibility:hidden}
