/* 项目文档（Teaser / Brief / 便签）—— 群聊右侧入口 + 统一编辑面板
   ⚠️ 2026-10-26：按钮的「空文档」态原来用的是 .empty，撞上 index.html:147 的全局空状态
   .empty{padding:80px 20px}（那个是给整页空列表用的），导致三个按钮被撑到 162px 高、
   内容区被压成 0 → 图标高度塌成 0、三个格子宽度各不相同。改用 .is-empty 前缀类隔开。 */
.chat-docs{margin:0 0 18px}
.chat-docs-head{display:flex;align-items:center;justify-content:space-between;font-size:12px;font-weight:600;margin:0 0 10px}
.chat-docs-head span{font-size:11px;color:#c0b5d0}
.chat-docs-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}
.chat-doc-btn{position:relative;height:52px;padding:0 6px;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:5px;border:1px solid #e5def0;background:#fff;border-radius:8px;color:#7c669e;font-size:11px;line-height:1.2;cursor:pointer;box-shadow:0 2px 5px #7a53a703;transition:border-color .15s,background .15s,box-shadow .15s}
.chat-doc-btn:hover{border-color:#a18ccf;background:#faf8ff;box-shadow:0 3px 10px #8060b00c}
.chat-doc-btn:focus-visible{outline:3px solid #b8a7eb;outline-offset:3px}
.chat-doc-btn svg{width:15px;height:15px;flex:0 0 auto;stroke:#9c86ba;fill:none;stroke-width:1.4}
.chat-doc-btn span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
.chat-doc-btn.is-empty{color:#aaa2b2;border-color:#eae6ef}
.chat-doc-btn.is-empty svg{stroke:#c1b8cb}
.chat-doc-dot{position:absolute;width:5px;height:5px;background:#9f80ce;border-radius:100%;top:8px;right:8px}
.chat-doc-dot[hidden]{display:none}
.chat-docs-note{font-size:10px;color:#a89bb6;margin:8px 0 0}
.chat-docs-mobile{display:none;grid-template-columns:repeat(3,1fr);gap:6px;margin:8px 0 0}
.chat-docs-mobile button{background:#f8f5fc;border:1px solid #e7e0f0;border-radius:6px;padding:7px 4px;color:#8b70b0;font-size:11px;cursor:pointer}
@media(max-width:1100px){.chat-docs-mobile{display:grid}.chat-docs{padding:14px 0 0;border-top:1px solid var(--border,#eae8ef)}}
/* ── 编辑面板 ── */
.chat-doc-veil{position:fixed;inset:0;background:#211b3545;backdrop-filter:blur(2px);z-index:60;display:none;align-items:center;justify-content:center;padding:24px}
.chat-doc-veil.open{display:flex}
.chat-doc-editor{width:min(620px,100%);max-height:calc(100vh - 48px);display:flex;flex-direction:column;background:#fff;border:1px solid #e6dff1;border-radius:15px;box-shadow:0 20px 80px #21123526;overflow:hidden;animation:chatDocArrive .18s ease-out}
@keyframes chatDocArrive{from{transform:translateY(7px);opacity:.2}to{transform:none;opacity:1}}
.chat-doc-head{padding:20px 24px 15px;display:flex;align-items:flex-start;gap:12px;border-bottom:1px solid #f0edf5}
.chat-doc-tile{height:36px;width:36px;background:#f1ecfa;border-radius:10px;display:grid;place-items:center;color:#8867ba;font-size:17px;flex-shrink:0}
.chat-doc-titles{flex:1;min-width:0}
.chat-doc-titles h3{margin:0 0 5px;font-size:17px;font-weight:600;letter-spacing:-.3px;color:#2d2b36}
.chat-doc-titles p{margin:0;font-size:10px;color:#a89bb6;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.chat-doc-close{width:26px;height:26px;border:0;background:#faf8fc;color:#9b8cab;border-radius:7px;font-size:19px;line-height:1;cursor:pointer;flex-shrink:0}
.chat-doc-tabs{display:flex;gap:5px;margin:17px 24px 0;background:#f6f4f9;border-radius:8px;padding:4px}
.chat-doc-tabs button{flex:1;border:0;background:none;color:#a294ae;font-size:11px;padding:8px;border-radius:5px;cursor:pointer}
.chat-doc-tabs button.active{background:#fff;box-shadow:0 1px 5px #5534770c;color:#7054d2;font-weight:600}
.chat-doc-body{padding:18px 24px 14px;overflow:auto}
.chat-doc-label{display:flex;justify-content:space-between;align-items:center;gap:10px;font-size:11px;color:#84728f;margin-bottom:9px}
.chat-doc-label .purpose{font-size:10px;color:#b4a8c0;font-weight:400;text-align:right}
.chat-doc-text{resize:vertical;display:block;width:100%;height:225px;min-height:150px;max-height:300px;border:1px solid #e8e1ef;border-radius:8px;background:#fefcff;padding:15px 16px;font-size:13px;line-height:1.95;color:#6f617c;outline:none;font-family:inherit;transition:border-color .15s,box-shadow .15s}
.chat-doc-text:focus{border-color:#bca6d9;box-shadow:0 0 0 3px #bca6d90c}
.chat-doc-text::placeholder{color:#b3a8bf}
.chat-doc-text[readonly]{background:#faf9fc;color:#8b8098}
.chat-doc-meta{display:flex;justify-content:space-between;align-items:center;gap:10px;font-size:10px;color:#b3a5bf;margin-top:11px}
.chat-doc-state .check{color:#97ad9d}
.chat-doc-state .dirty{color:#b49a70}
.chat-doc-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;border-top:1px solid #f0ebf5;padding:14px 24px;background:#fdfcfe}
.chat-doc-last{font-size:10px;color:#b2a4bd;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.chat-doc-actions{display:flex;gap:8px;flex-shrink:0}
.chat-doc-actions button{font-size:11px;border-radius:7px;padding:9px 15px;cursor:pointer}
.chat-doc-actions .cancel{border:1px solid #e7deef;background:#fff;color:#93819f}
.chat-doc-actions .save{border:1px solid #7054d2;background:#7054d2;color:#fff;min-width:76px}
.chat-doc-actions .save[disabled]{opacity:.55;cursor:not-allowed}
.chat-doc-actions .save[hidden]{display:none}
@media(max-width:800px){.chat-doc-veil{padding:10px}.chat-doc-editor{max-height:calc(100vh - 20px)}.chat-doc-head{padding:16px}.chat-doc-tabs{margin:14px 16px 0}.chat-doc-body{padding:14px 16px 10px}.chat-doc-foot{padding:12px 16px;flex-wrap:wrap}.chat-doc-last{width:100%}}
