/* 验货报告审核 V2 —— 干净现代风 */
* { box-sizing: border-box; }
body { margin: 0; font-family: "Segoe UI", "Microsoft YaHei", system-ui, sans-serif;
  background: #f6f6f3; color: #23231f; font-size: 14px; line-height: 1.65; }
main { max-width: 1060px; margin: 0 auto; padding: 20px 20px 60px; }
h1 { font-size: 22px; font-weight: 600; margin: 14px 0; }
h2 { font-size: 16px; font-weight: 600; margin: 0 0 10px; }
h3 { font-size: 14px; font-weight: 600; margin: 14px 0 6px; }
a { color: #2563c9; text-decoration: none; }
a:hover { text-decoration: underline; }

/* 导航 */
nav { display: flex; align-items: center; gap: 18px; background: #fff;
  border-bottom: 1px solid #e6e6e1; padding: 10px 24px; position: sticky; top: 0; z-index: 10; }
nav .brand { font-weight: 700; font-size: 15px; color: #23231f; }
nav a { color: #55554f; font-size: 13px; }
nav .spacer { flex: 1; }
nav .who { color: #8a8a82; font-size: 12px; }

/* 卡片与提示 */
.card { background: #fff; border: 1px solid #e6e6e1; border-radius: 12px;
  padding: 16px 18px; margin: 12px 0; }
.flash { background: #eef5fd; border: 1px solid #bcd7f5; color: #1d4f93;
  border-radius: 10px; padding: 10px 14px; margin: 10px 0; font-size: 13px; }
.muted { color: #8a8a82; font-size: 12.5px; }

/* 徽章与状态 */
.badge { display: inline-block; font-size: 11.5px; padding: 2px 10px;
  border-radius: 999px; background: #f0f0ec; color: #55554f; vertical-align: 1px; }
.badge.cat { background: #eeedfe; color: #3c3489; }
.st-AWAITING_FILE { background: #faeeda; color: #854f0b; }
.st-UPLOADED, .st-REVIEWING { background: #e6f1fb; color: #185fa5; }
.st-AWAITING_BOSS { background: #eeedfe; color: #534ab7; }
.st-AWAITING_COCO { background: #fbeaf0; color: #993556; }
.st-CLOSED { background: #e1f5ee; color: #0f6e56; }
.st-ERROR, .st-CANCELLED { background: #fcebeb; color: #a32d2d; }
.src-api { background: #e1f5ee; color: #085041; }

/* 严重度圆点 */
.dot { display: inline-block; width: 9px; height: 9px; border-radius: 50%; margin-right: 2px; }
.dot-high { background: #e24b4a; } .dot-medium { background: #ef9f27; } .dot-low { background: #b4b2a9; }

/* 标签页 */
.tabs { display: flex; gap: 2px; border-bottom: 2px solid #e6e6e1; margin: 16px 0 0; }
.tabs button { border: none; background: none; padding: 9px 16px; font-size: 13.5px;
  color: #55554f; cursor: pointer; border-bottom: 2px solid transparent; margin-bottom: -2px; }
.tabs button.on { color: #23231f; font-weight: 600; border-bottom-color: #2563c9; }
.tabpane { display: none; padding-top: 4px; }
.tabpane.on { display: block; }

/* 问题卡 */
.issue { border: 1px solid #e6e6e1; border-radius: 10px; padding: 12px 14px; margin: 10px 0; background: #fff; }
.issue p { margin: 4px 0; }
.issue .orig { background: #f7f7f4; border-radius: 6px; padding: 6px 10px; font-size: 12.5px; color: #55554f; }
.issue-head { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }

/* 裁决药丸 */
.decide { display: flex; gap: 6px; flex-wrap: wrap; margin: 8px 0 4px; }
.decide label { border: 1px solid #ddddd6; border-radius: 999px; padding: 3px 12px;
  font-size: 12.5px; cursor: pointer; user-select: none; color: #55554f; background: #fff; }
.decide input { display: none; }
.decide label:has(input:checked) { border-width: 1.5px; font-weight: 600; }
.decide label.d-ai:has(input:checked) { background: #e1f5ee; color: #085041; border-color: #0f6e56; }
.decide label.d-coco:has(input:checked) { background: #fbeaf0; color: #72243e; border-color: #993556; }
.decide label.d-boss:has(input:checked) { background: #eeedfe; color: #3c3489; border-color: #534ab7; }
.decide label.d-verify:has(input:checked) { background: #faeeda; color: #633806; border-color: #ba7517; }
.decide label.d-ignore:has(input:checked) { background: #f0f0ec; color: #44443f; border-color: #888780; }
.d-chip { font-size: 11.5px; padding: 2px 10px; border-radius: 999px; }
.d-chip.ai { background: #e1f5ee; color: #085041; }
.d-chip.coco { background: #fbeaf0; color: #72243e; }
.d-chip.boss { background: #eeedfe; color: #3c3489; }
.d-chip.verify { background: #faeeda; color: #633806; }
.d-chip.ignore_once, .d-chip.ignore_never { background: #f0f0ec; color: #55554f; }

/* 表单 */
input[type=text], textarea, select { width: 100%; border: 1px solid #ddddd6; border-radius: 8px;
  padding: 7px 10px; font-size: 13px; font-family: inherit; background: #fff; }
textarea { resize: vertical; }
textarea.note { margin-top: 6px; }
textarea:focus, input:focus { outline: none; border-color: #2563c9; box-shadow: 0 0 0 3px #2563c922; }
button, .btn { border: 1px solid #ddddd6; background: #fff; border-radius: 8px;
  padding: 7px 16px; font-size: 13px; cursor: pointer; font-family: inherit; color: #23231f; }
button:hover, .btn:hover { background: #f4f4f0; }
button.primary { background: #1f6b46; border-color: #1f6b46; color: #fff; font-weight: 600; }
button.primary:hover { background: #175537; }
button.mini { padding: 2px 10px; font-size: 12px; }
button.danger { color: #a32d2d; border-color: #e6b8b8; }

/* 表格 */
table { width: 100%; border-collapse: collapse; background: #fff; border-radius: 10px; overflow: hidden; }
th, td { text-align: left; padding: 9px 12px; border-bottom: 1px solid #efefe9; font-size: 13px; }
th { background: #fafaf7; font-weight: 600; color: #55554f; font-size: 12px; }
tr:hover td { background: #fbfbf8; }

/* 版本时间线 */
.timeline { list-style: none; margin: 8px 0; padding: 0; }
.timeline li { position: relative; padding: 8px 0 8px 22px; border-left: 2px solid #e6e6e1; margin-left: 8px; }
.timeline li::before { content: ""; position: absolute; left: -6px; top: 14px;
  width: 10px; height: 10px; border-radius: 50%; background: #2563c9; }
.timeline li.discarded { opacity: 0.45; }
.timeline li.discarded::before { background: #b4b2a9; }
.timeline .t-meta { font-size: 11.5px; color: #8a8a82; }

/* 老板备注/AI结果高亮 */
.boss-note { color: #a3372d; background: #fdf1ee; padding: 3px 8px; border-radius: 6px; display: inline-block; }
.refix-result { background: #eefbef; padding: 6px 10px; border-radius: 8px; white-space: pre-wrap; font-size: 12.5px; }
.ai-note-echo { background: #f4f2fd; padding: 6px 10px; border-radius: 8px; font-size: 12.5px; }

/* 旧类兼容 */
.annotated-tip { border-left: 4px solid #ba7517; border-radius: 0 12px 12px 0; }
.autofix-card { border-left: 4px solid #2e86de; border-radius: 0 12px 12px 0; background: #f4f9ff; }
.refix-card { }
.titles-tbl { width: 100%; }
.title-in { width: 98%; }
.revision-upload { border: 2px dashed #c9c9c2; }
.pickline { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; }
.ai-fix-opt { color: #0f6e56; font-weight: 600; }

/* 知识库 */
.kb-layout { display: flex; gap: 16px; align-items: flex-start; }
.kb-side { width: 220px; flex-shrink: 0; }
.kb-side a { display: block; padding: 7px 12px; border-radius: 8px; font-size: 13px; color: #44443f; }
.kb-side a.on { background: #eeedfe; color: #3c3489; font-weight: 600; }
.kb-main { flex: 1; min-width: 0; }
.kb-main .card { padding: 20px 26px; }
.kb-main h1, .kb-main h2, .kb-main h3 { margin-top: 18px; }
.kb-main blockquote { border-left: 3px solid #ddddd6; margin: 8px 0; padding: 2px 14px; color: #55554f; }
.kb-main code { background: #f4f4f0; padding: 1px 5px; border-radius: 4px; font-size: 12.5px; }

/* 列表页头部 */
.list-head { display: flex; align-items: center; gap: 12px; }
.list-head .grow { flex: 1; }
.jobrow-name { font-weight: 600; }
.jobrow-sub { font-size: 12px; color: #8a8a82; }

/* 上传进度条 */
.upload-progress { margin-top: 10px; }
.up-track { height: 8px; background: #eceae4; border-radius: 999px; overflow: hidden; }
.up-fill { height: 100%; width: 0; background: #1f6b46; border-radius: 999px; transition: width .3s; }
.up-text { font-size: 12px; color: #55554f; margin-top: 5px; }

/* 裁决分组 */
.decide { align-items: center; }
.decide-label { font-size: 11.5px; color: #8a8a82; }
.decide-sep { width: 1px; height: 18px; background: #ddddd6; margin: 0 4px; }
.decide label.d-ignore { border-style: dashed; color: #8a8a82; }
.clear-decide { margin-left: auto; border: none; background: none; color: #b4b2a9; font-size: 13px; }
.clear-decide:hover { color: #a32d2d; background: none; }
/* 输入框自动长高 */
textarea { overflow: hidden; min-height: 36px; }

/* 问题卡内部分区 */
.issue .issue-head { padding-bottom: 6px; }
.issue .orig { margin: 8px 0; }
.issue > p { margin: 8px 0; }
.sug { color: #55554f; font-size: 12.5px; background: #fafaf7;
  border-left: 3px solid #ddd8cc; border-radius: 0; padding: 6px 10px; margin: 8px 0; }
.decide { border-top: 1px solid #efefe9; margin-top: 14px; padding-top: 12px; }
textarea { resize: none; }
textarea.note { margin-top: 8px; }

/* 分屏预览 */
.split { display: flex; gap: 14px; align-items: flex-start; }
.issues-col { flex: 1; min-width: 0; }
.split-on .issues-col { max-width: 55%; }
.preview-col { width: 45%; position: sticky; top: 60px; }
.preview-head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 6px; }
.preview-col iframe { width: 100%; height: calc(100vh - 130px); border: 1px solid #e6e6e1; border-radius: 10px; background: #fff; }
.goto-page { margin-left: 4px; }
@media (max-width: 900px) { .split { flex-direction: column; } .split-on .issues-col { max-width: 100%; } .preview-col { width: 100%; position: static; } }

/* PDF.js 预览 */
#pv-box { height: calc(100vh - 150px); overflow: auto; border: 1px solid #e6e6e1;
  border-radius: 10px; background: #eceae4; text-align: center; padding: 8px 0; }
#pv-canvas { box-shadow: 0 1px 6px rgba(0,0,0,.12); background: #fff; }
.pv-nav { display: flex; gap: 6px; align-items: center; }

/* 查看器 2.0:PDF在左、可拖拽、抽屉 */
.preview-col { order: -1; width: 58%; position: sticky; top: 56px; }
.pv-divider { order: 0; width: 6px; align-self: stretch; cursor: col-resize;
  background: #e3e1da; border-radius: 3px; }
.pv-divider:hover { background: #c9c6bb; }
.issues-col { order: 1; }
.issues-col.drawer-hidden { display: none; }
.split-on .issues-col { max-width: none; }
#pv-box { height: calc(100vh - 140px); overflow: auto; border: 1px solid #e6e6e1;
  border-radius: 10px; background: #e8e6df; padding: 8px 0; text-align: center; }
.pv-pg { margin: 0 auto 10px; background: #fff; box-shadow: 0 1px 5px rgba(0,0,0,.12); }
.preview-head { flex-wrap: wrap; gap: 6px; }

/* 分屏时用满桌面:详情页脱离 1060px 窄栏 */
body.wide-page main { max-width: none; padding-left: 24px; padding-right: 24px; }
/* 问题栏下限,避免被 PDF 挤到 placeholder 都看不全 */
.split-on .issues-col { min-width: 420px; }
.split-on .preview-col { min-width: 360px; }
@media (max-width: 900px) {
  .split-on .issues-col, .split-on .preview-col { min-width: 0; }
}

/* ===== 问题卡改版(色带+三色块+彩色药丸+已裁决变暗) ===== */
.issues-col .issue { display: flex; padding: 0; overflow: hidden; border: 1px solid #e6e6e1;
  border-radius: 10px; box-shadow: 0 1px 3px rgba(0,0,0,.05); margin: 12px 0; background: #fff; }
.issue-bar { width: 5px; flex-shrink: 0; background: #b4b2a9; }
.issue.sev-high .issue-bar { background: #e24b4a; }
.issue.sev-medium .issue-bar { background: #ef9f27; }
.issue.sev-low .issue-bar { background: #c9c6bb; }
.issue-body { flex: 1; min-width: 0; padding: 12px 15px; }
.sev-tag { font-size: 11px; font-weight: 600; padding: 2px 8px; border-radius: 5px; }
.sev-tag.sev-high { color: #a32d2d; background: #fcebeb; }
.sev-tag.sev-medium { color: #854f0b; background: #faeeda; }
.sev-tag.sev-low { color: #5f5e5a; background: #f0f0ec; }
.issues-col .prob { font-size: 15px; font-weight: 600; line-height: 1.55; margin: 11px 0 9px; color: #23231f; }
.blk { font-size: 12.5px; line-height: 1.55; padding: 7px 11px; margin: 7px 0; border-left: 3px solid; }
.blk-t { display: inline-block; font-size: 11px; font-weight: 600; margin-right: 6px; }
.blk-orig { background: #f4f2ee; border-color: #b4b2a9; color: #55554f; }
.blk-orig .blk-t { color: #5f5e5a; }
.blk-sug { background: #e6f1fb; border-color: #378add; color: #185fa5; }
.blk-sug .blk-t { color: #0c447c; }
.blk-note { background: #faeeda; border-color: #ba7517; color: #854f0b; }
.blk-note .blk-t { color: #633806; }
.btn-view { border-color: #cdcabf !important; background: #f4f2ee !important; color: #5f5e5a !important; font-weight: 600; }
.need-human { background: #f0f0ec; color: #5f5e5a; }

/* 彩色药丸:默认即带色,选中加深加粗 */
.issues-col .decide label { border-radius: 8px; padding: 5px 13px; font-size: 13px; }
.decide label.d-ai { border-color: #9fe1cb; background: #e9f8f2; color: #0f6e56; }
.decide label.d-coco { border-color: #ed93b1; background: #fbeaf0; color: #993556; }
.decide label.d-boss { border-color: #afa9ec; background: #eeedfe; color: #3c3489; }
.decide label.d-verify { border-color: #ecc98a; background: #faeeda; color: #854f0b; }
.decide label.d-ignore { border: 1px dashed #cdcabf; color: #888780; background: #fff; }
.decide label.d-ai:has(input:checked) { border: 2px solid #1f6b46; background: #1f6b46; color: #fff; }
.decide label.d-coco:has(input:checked) { border-width: 2px; font-weight: 600; background: #f4c0d1; }
.decide label.d-boss:has(input:checked) { border-width: 2px; font-weight: 600; background: #cecbf6; }
.decide label.d-verify:has(input:checked) { border-width: 2px; font-weight: 600; background: #fac775; }
.decide label.d-ignore:has(input:checked) { border-style: solid; border-color: #888780; background: #e8e6df; color: #44443f; font-weight: 600; }

/* 已裁决:变暗收拢 */
.issues-col .issue.decided { opacity: .58; background: #f6f5f1; }
.issues-col .issue.decided:hover { opacity: 1; }
.issues-col .issue.decided .blk { display: none; }
.issues-col .issue.decided:hover .blk { display: block; }

/* ===== 单按钮版操作区 ===== */
.act { border-top: 1px solid #efefe9; margin-top: 12px; padding-top: 12px; }
.act-inline { display: inline-flex; align-items: center; gap: 8px; margin: 0; }
.clarify-form { margin: 4px 0; }
.act-hint { font-size: 12px; color: #939089; }
.act-hint.need { display: block; margin-bottom: 6px; color: #854f0b; }
.btn-aifix { font-size: 14px !important; padding: 8px 20px !important; }
.blk-propose { background: #e9f8f2; border-color: #1d9e75; color: #0f6e56; }
.blk-propose .blk-t { color: #085041; }
.act .primary { background: #1f6b46; border-color: #1f6b46; color: #fff; font-weight: 600; }
.act .primary:hover { background: #175537; }
.act textarea.note { margin: 6px 0; }
.more-act { margin-top: 10px; }
.more-act summary { font-size: 12px; color: #8a8a82; cursor: pointer; user-select: none; }
.more-act summary:hover { color: #55554f; }
.more-grid { display: flex; flex-wrap: wrap; gap: 8px; margin: 8px 0; align-items: center; }
.pill-btn { border-radius: 8px; padding: 5px 13px; font-size: 12.5px; }
.pill-btn.d-coco { border-color: #ed93b1; background: #fbeaf0; color: #993556; }
.pill-btn.d-boss { border-color: #afa9ec; background: #eeedfe; color: #3c3489; }
.pill-btn.d-ignore { border: 1px dashed #cdcabf; color: #888780; background: #fff; }
.teach-in { width: 200px; font-size: 12px; padding: 5px 9px; }
.more-teach { display: inline-flex; gap: 6px; }
.note-form { display: flex; gap: 6px; margin-top: 6px; }
.undo-btn { color: #a3372d; border-color: #e6b8b8; }

/* AJAX 提示 */
#ajax-toast { position: fixed; left: 50%; bottom: 26px;
  transform: translateX(-50%) translateY(16px); background: #23231f; color: #fff;
  font-size: 13px; padding: 9px 18px; border-radius: 999px; opacity: 0;
  pointer-events: none; transition: all .25s; z-index: 99; }
#ajax-toast.show { opacity: .95; transform: translateX(-50%) translateY(0); }

/* 自信改条上的"对AI说"输入框 */
.aifix-form { display: block; }
.ai-note-box { width: 100%; box-sizing: border-box; margin: 0 0 8px; min-height: 34px;
  border: 1px dashed #9cc4ad; background: #f4fbf7; border-radius: 8px; padding: 7px 10px;
  font-size: 12.5px; resize: vertical; }
.ai-note-box:focus { border-style: solid; border-color: #1f6b46; background: #fff; outline: none; }
.ai-note-box::placeholder { color: #7a9a88; }

/* 其他处理方式:每行 = 按钮 + 该动作的备注 */
.more-col { display: flex; flex-direction: column; gap: 7px; margin: 8px 0 2px; }
.more-row { display: flex; align-items: center; gap: 8px; }
.more-row .pill-btn { flex: 0 0 auto; min-width: 108px; text-align: center; }
.more-row .teach-in { flex: 1 1 auto; width: auto; max-width: 380px; }

/* 转办下拉 + 决定色 */
.assignee-sel { flex: 0 0 auto; width: auto; min-width: 92px; }
.more-row .assignee-sel + .teach-in { flex: 1 1 auto; }
.d-chip.assign, .pill-btn.d-coco { }
.d-chip.assign { background: #eaf0fb; color: #2a4d8f; border:1px solid #b9cdf0; }

/* ===== 列表:按单号分组(对齐订单系统的组织方式) ===== */
.ordlist { width: 100%; border-collapse: collapse; }
.ordlist th { text-align: left; font-size: 12.5px; color: #8a8a82; font-weight: 600;
  padding: 10px 14px; border-bottom: 1px solid #e8e6df; white-space: nowrap; }
.ordlist td { padding: 14px; border-bottom: 1px solid #f0eee8; vertical-align: top;
  font-size: 13.5px; }
.ord-row:hover { background: #fcfbf8; }
.ord-no { white-space: nowrap; }
.ord-no b { font-size: 15px; letter-spacing: .3px; }
.flow-link { display: block; margin-top: 4px; font-size: 11.5px; color: #7a7a72;
  text-decoration: none; }
.flow-link:hover { color: #1f6b46; text-decoration: underline; }
.ord-reps { min-width: 300px; }
.rep-line { display: flex; align-items: center; gap: 8px; padding: 3px 0; flex-wrap: wrap; }
.rep-no { font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: 13px;
  font-weight: 600; color: #1a4f8a; text-decoration: none; letter-spacing: .2px; }
.rep-no:hover { text-decoration: underline; }
.rnd { font-size: 11px; color: #8a6d3b; background: #fdf4e3; border-radius: 4px;
  padding: 1px 6px; }

/* ===== 卡片 v4:改法上位、解释折叠 ===== */
.plan { margin: 10px 0 0; }
.plan-t { font-size: 12px; font-weight: 600; color: #0f6e56; margin-bottom: 5px; }
.fixline { background: #e9f8f2; border-left: 3px solid #1d9e75; padding: 7px 11px;
  margin-bottom: 4px; font-size: 12.5px; line-height: 1.7; color: #085041;
  display: flex; align-items: baseline; gap: 8px; flex-wrap: wrap; }
.fx-where { font-size: 11.5px; color: #0f6e56; background: #d6f0e5;
  padding: 1px 7px; border-radius: 4px; white-space: nowrap; }
.fx-old { font-family: ui-monospace, Menlo, monospace; color: #a3372d;
  text-decoration: line-through; text-decoration-color: #d9a49d; }
.fx-arr { color: #7aa693; }
.fx-new { font-family: ui-monospace, Menlo, monospace; font-weight: 600; color: #085041; }
.gap { background: #faeeda; border-left: 3px solid #ba7517; padding: 8px 11px;
  margin: 8px 0 0; font-size: 12.5px; line-height: 1.65; color: #633806; }
.gap-t { font-size: 12px; font-weight: 600; color: #854f0b; margin-bottom: 3px; }
.waiting { background: #e9f8f2; border-left: 3px solid #1d9e75; padding: 8px 11px;
  font-size: 12.5px; color: #0f6e56; margin-bottom: 9px; }
.act { border-top: 1px solid #efefe9; margin-top: 12px; padding-top: 11px; }
.act-row { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.say-btn, .more-btn { border: 1px solid #cdcabf; background: #fff; color: #55554f; }
.say-btn:hover, .more-btn:hover { border-color: #9a978c; }
.say-btn.on, .more-btn.on { background: #f1efe8; border-color: #9a978c; }
.fold { display: none; margin-top: 9px; }
.fold.on { display: block; }
.why { margin-top: 11px; }
.why > summary { font-size: 12px; color: #8a8a82; cursor: pointer; user-select: none;
  list-style: none; }
.why > summary::before { content: '▸ '; }
.why[open] > summary::before { content: '▾ '; }
.why > summary:hover { color: #55554f; }
.why[open] > summary { margin-bottom: 8px; }
.issue-head .loc-text { font-size: 12px; }

/* 其他处理方式:二选一 + 老板专属区 */
.hand-t { font-size: 12px; color: #8a8a82; margin: 2px 0 6px; }
.seg { display: flex; gap: 8px; margin-bottom: 2px; flex-wrap: wrap; }
.seg-btn { border: 1px solid #cdcabf; background: #fff; color: #55554f;
  border-radius: 8px; padding: 6px 14px; font-size: 12.5px; cursor: pointer; }
.seg-btn:hover { border-color: #9a978c; }
.seg-btn.on { background: #eeedfe; border-color: #7f77dd; color: #3c3489; font-weight: 600; }
.seg-btn.on.to-other { background: #fbeaf0; border-color: #ed93b1; color: #993556; }
.hand-form { display: none; margin-top: 9px; }
.hand-form.on { display: block; }
.hand-form .teach-in { width: 100%; box-sizing: border-box; max-width: none; }
.hand-form .assignee-sel { width: auto; min-width: 130px; margin-bottom: 7px; }
.boss-zone { margin-top: 12px; padding-top: 10px; border-top: 1px dashed #e0ded6; }
.boss-zone .hand-t { color: #a3372d; }

/* 进度总览 */
.prog { margin: 4px 0 14px; }
.prog-bar { height: 6px; background: #eae8e0; border-radius: 999px; overflow: hidden; }
.prog-fill { height: 100%; background: #1f6b46; border-radius: 999px; transition: width .3s; }
.prog-txt { display: flex; align-items: center; gap: 12px; flex-wrap: wrap;
  margin-top: 7px; font-size: 13px; }
.p-todo { color: #a3372d; font-weight: 600; }
.p-human { color: #854f0b; font-weight: 600; }
/* 已裁决卡:改动留痕 + 完成状态 */
.donefix { margin: 8px 0 0; opacity: .85; }
.fixline.done { background: #f2f5f3; border-left-color: #9ab5a8; color: #4a5b53; }
.donebar { background: #e9f8f2; border-left: 3px solid #1d9e75; padding: 7px 11px;
  font-size: 12.5px; color: #0f6e56; margin-top: 8px; }
/* 下一步 */
.nextstep { margin-top: 16px; border-left: 3px solid #1f6b46; }
.nextstep h2 { margin-top: 0; }
/* 更多工具 */
.tools > summary { font-size: 13px; color: #8a8a82; cursor: pointer; padding: 8px 0; }
.tools > summary:hover { color: #55554f; }
/* 我的待办 */
.todo-row { display: flex; gap: 14px; align-items: flex-start;
  padding: 12px 0; border-bottom: 1px solid #f0eee8; }
.todo-row:last-child { border-bottom: none; }
.todo-main { flex: 1 1 auto; min-width: 0; }
.todo-prob { font-size: 13.5px; margin: 5px 0; line-height: 1.6; }

/* 预览源切换 */
.pv-src { display: inline-flex; margin-right: 10px; border: 1px solid #cdcabf;
  border-radius: 8px; overflow: hidden; }
.pv-srcbtn { border: none !important; border-radius: 0 !important; margin: 0 !important;
  background: #fff; color: #7a7a72; padding: 4px 12px !important; }
.pv-srcbtn.on { background: #1f6b46; color: #fff; font-weight: 600; }
.pv-srcbtn + .pv-srcbtn { border-left: 1px solid #cdcabf !important; }

/* 问题大类:格式(机器可判定,先清)/ 逻辑(要判断)/ 内容(措辞) */
.badge.bucket { font-weight: 600; }
.badge.b-fmt   { background: #e6f2ff; color: #1c4e80; }
.badge.b-logic { background: #ffeede; color: #8a4b08; }
.badge.b-text  { background: #eaf6ec; color: #1f6b34; }

/* 改动清单的"已核实"标记:显示的是在报告副本上试跑出来的实际处数 */
.plan-t .verified   { color: #1f6b34; font-weight: 500; font-size: 12px; }
.plan-t .unverified { color: #8a6d3b; font-weight: 500; font-size: 12px; }
.plan .hit { float: right; font-size: 12px; color: #1f6b34; background: #eaf6ec;
             border-radius: 10px; padding: 1px 9px; margin-left: 8px; }
.plan .hit.zero { color: #a33; background: #fdecec; }
.plan-warn { margin-top: 8px; padding: 8px 11px; background: #fdf3e3;
             border-left: 3px solid #d79a2b; border-radius: 4px;
             font-size: 13px; line-height: 1.6; }

.plan .hit.done { color: #666; background: #eee; }
.plan-ok { margin-top: 8px; padding: 7px 11px; background: #eaf6ec;
           border-left: 3px solid #3a9a55; border-radius: 4px;
           font-size: 13px; line-height: 1.6; color: #1f5b31; }

.badge.b-remark { background: #f6eefa; color: #6b2d84; font-weight: 600; }

.plan-dropped { margin-top: 6px; font-size: 12px; color: #999; }

/* 修改项清单(AI 改完的成品账目) */
.card.selfcheck { border-left: 4px solid #3a9a55; }
.card.changes .chg { border-top: 1px solid #eee; padding: 9px 0 7px; }
.chg-head { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.chg-meta { margin-left: auto; color: #999; font-size: 12px; }
.revert-btn { color: #a33; border-color: #dbb; }
.pending-title { margin: 14px 0 8px; font-size: 15px; color: #8a4b08; }

/* 教学窗口(常驻抽屉) */
#teach-fab { position: fixed; right: 18px; bottom: 18px; z-index: 60;
  background: #2f6b43; color: #fff; border: 0; border-radius: 22px;
  padding: 10px 18px; font-size: 14px; cursor: pointer; box-shadow: 0 2px 10px rgba(0,0,0,.25); }
#teach-drawer { position: fixed; right: 0; top: 0; bottom: 0; width: 380px; max-width: 92vw;
  background: #fff; border-left: 1px solid #ddd; box-shadow: -4px 0 18px rgba(0,0,0,.12);
  z-index: 70; display: none; flex-direction: column; }
#teach-drawer.on { display: flex; }
.td-head { display: flex; gap: 8px; align-items: center; padding: 10px 12px; border-bottom: 1px solid #eee; }
.td-head .mini { margin-left: auto; }
#td-msgs { flex: 1; overflow-y: auto; padding: 10px 12px; }
.td-msg { margin: 6px 0; padding: 8px 11px; border-radius: 10px; font-size: 13.5px; line-height: 1.6; }
.td-msg.boss { background: #e8f1fb; margin-left: 40px; }
.td-msg.assistant { background: #f4f4f2; margin-right: 40px; }
.td-input { display: flex; gap: 8px; padding: 10px 12px; border-top: 1px solid #eee; }
.td-input textarea { flex: 1; resize: none; }

/* 折叠卡(老板方案:自查报告/已修改默认收起,腾地方给预览) */
details.card summary { cursor: pointer; font-weight: 600; font-size: 15px;
  list-style: none; }
details.card summary::-webkit-details-marker { display: none; }
details.card summary::before { content: '▸ '; color: #999; }
details.card[open] summary::before { content: '▾ '; }
details.card summary .muted { font-weight: 400; font-size: 12.5px; }
.issues-col details.card { margin-bottom: 10px; }

.td-img { max-width: 100%; border-radius: 6px; margin-top: 4px; display: block;
  border: 1px solid #e3ded2; }

.td-file { display: inline-block; margin-top: 4px; padding: 3px 8px;
  background: #f4f1e8; border: 1px solid #e3ded2; border-radius: 6px;
  font-size: 12.5px; text-decoration: none; }
