/* 稿件交付 · 样式（配合 style.css 的变量，不另立配色） */

/* ---------- 工具条 ---------- */
.doc-toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:14px}
.doc-toolbar .input{margin:0;padding:7px 10px;border:1px solid var(--line);border-radius:8px}
.doc-toolbar .input#docSearch{flex:1;min-width:180px}

.seg{display:inline-flex;background:var(--line-2);border-radius:8px;padding:2px}
.seg-btn{border:0;background:transparent;padding:6px 13px;border-radius:6px;cursor:pointer;
  font-weight:600;color:var(--txt-2);font-size:13px;transition:.15s}
.seg-btn.active{background:#fff;color:var(--brand);box-shadow:0 1px 2px rgba(16,24,40,.08)}
.seg-btn:hover:not(.active){color:var(--txt)}

/* ---------- 列表 ---------- */
.doc-list{display:flex;flex-direction:column;gap:8px}
.doc-card{display:flex;align-items:center;gap:14px;background:var(--panel);
  border:1px solid var(--line);border-radius:var(--radius);padding:13px 16px;
  cursor:pointer;transition:.15s}
.doc-card:hover{border-color:#c9d3e6;box-shadow:var(--shadow);transform:translateY(-1px)}
.doc-card-main{flex:1;min-width:0}
.doc-card-title{font-weight:700;font-size:14.5px;margin-bottom:3px;
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.doc-card-sub{color:var(--txt-3);font-size:12.5px;display:flex;gap:6px;flex-wrap:wrap}
.doc-card-sub .sep{color:var(--line)}
.doc-card-right{display:flex;align-items:center;gap:10px;flex-shrink:0}

/* 状态胶囊 */
.st{display:inline-block;padding:3px 9px;border-radius:20px;font-size:12px;font-weight:700}
.st-draft{background:var(--line-2);color:var(--txt-2)}
.st-pending{background:var(--warn-soft);color:var(--warn)}
.st-annotating{background:#eef2ff;color:#3b53b8}
.st-revising{background:var(--danger-soft);color:var(--danger)}
.st-approved{background:var(--ok-soft);color:var(--ok)}
.st-archived{background:var(--line-2);color:var(--txt-3)}
.ann-badge{background:var(--brand-soft);color:var(--brand);padding:3px 9px;
  border-radius:20px;font-size:12px;font-weight:700}

/* ---------- 工作区 ---------- */
.doc-ws{display:flex;flex-direction:column;gap:0;background:var(--panel);
  border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}
.doc-ws-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;
  padding:14px 16px;border-bottom:1px solid var(--line);background:#fbfcfd}
.doc-ws-head h3{margin:0 0 3px;font-size:16px}
.doc-ws-actions{display:flex;gap:8px;flex-shrink:0;flex-wrap:wrap}

.doc-ws-body{display:grid;grid-template-columns:minmax(0,1fr) 320px;min-height:460px}
@media (max-width:900px){ .doc-ws-body{grid-template-columns:1fr} }

.doc-main{padding:14px 16px;border-right:1px solid var(--line);min-width:0}
.doc-version-bar{display:flex;align-items:center;gap:9px;margin-bottom:12px;flex-wrap:wrap}
.doc-version-bar .input{padding:5px 9px;border:1px solid var(--line);border-radius:7px}

/* 正文：等宽字体 + 行号，方便精确指行 */
.doc-content{font-size:14px;line-height:1.85;max-height:60vh;overflow:auto;
  border:1px solid var(--line-2);border-radius:8px;background:#fff}
.doc-line{display:flex;gap:10px;padding:1px 8px;border-radius:4px}
.doc-line:hover{background:#f7f9fc}
.doc-line.sel{background:var(--brand-soft);outline:1px solid #b9c9ee}
.doc-ln{flex:0 0 38px;text-align:right;color:var(--txt-3);font-size:11.5px;
  font-variant-numeric:tabular-nums;user-select:none;padding-top:2px}
.doc-tx{flex:1;white-space:pre-wrap;word-break:break-word;font-family:"PingFang SC","Microsoft YaHei",sans-serif}

/* 编辑态 */
.doc-edit-tip{background:var(--warn-soft);color:var(--warn);padding:8px 11px;
  border-radius:7px;font-size:12.5px;margin-bottom:9px;font-weight:600}
.doc-editor{width:100%;min-height:52vh;border:1px solid var(--line);border-radius:8px;
  padding:12px;font-family:"PingFang SC","Microsoft YaHei",monospace;font-size:14px;
  line-height:1.85;resize:vertical;outline:none}
.doc-editor:focus{border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-soft)}

/* 版本差异 */
.doc-diff{border:1px solid var(--line-2);border-radius:8px;overflow:auto;
  max-height:52vh;margin-bottom:12px;font-size:13px;background:#fff}
.diff-hunk{border-bottom:1px dashed var(--line)}
.diff-hunk:last-child{border-bottom:0}
.diff-line{display:flex;gap:8px;padding:1px 9px;font-family:ui-monospace,Consolas,monospace;white-space:pre-wrap}
.d-sign{flex:0 0 10px;color:var(--txt-3);user-select:none}
.d-add{background:var(--ok-soft)}
.d-del{background:var(--danger-soft)}
.d-same{color:var(--txt-3)}

/* ---------- 批注栏 ---------- */
.doc-side{display:flex;flex-direction:column;background:#fbfcfd;min-width:0}
.doc-side-head{display:flex;align-items:center;justify-content:space-between;
  padding:12px 14px;border-bottom:1px solid var(--line)}
.doc-anns{flex:1;overflow:auto;padding:10px 12px;display:flex;flex-direction:column;gap:8px;
  max-height:48vh}
.ann-item{background:#fff;border:1px solid var(--line);border-radius:8px;padding:9px 11px}
.ann-item.done{opacity:.6;background:#fafbfc}
.ann-item.done .ann-body{text-decoration:line-through;color:var(--txt-3)}
.ann-head{display:flex;align-items:center;justify-content:space-between;
  margin-bottom:4px;font-size:12.5px}
.ann-body{font-size:13px;line-height:1.6;word-break:break-word}
.ann-reply{margin-top:6px;padding:6px 9px;background:var(--brand-soft);
  border-radius:6px;font-size:12.5px;color:#2c3f7a}
.ann-foot{display:flex;gap:6px;margin-top:7px}
.btn.tiny{padding:3px 9px;font-size:12px;border-radius:6px}

.doc-ann-editor{padding:10px 12px;border-top:1px solid var(--line);background:#fff}
.doc-ann-editor .input{width:100%;margin:6px 0;padding:8px 10px;
  border:1px solid var(--line);border-radius:7px;resize:vertical;outline:none}
.doc-ann-editor .input:focus{border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-soft)}
.row-end{display:flex;justify-content:flex-end;gap:8px}

/* 导航小红点 */
.dot.docs{background:var(--warn)}
.dot.docs.on{opacity:1;transform:scale(1)}
.dot.docs{opacity:0;transition:.2s}
