/* 两种前端共用的附件菜单，使用原生文件选择器和手机拍照入口。 */
.attach-wrap { display: inline-flex; position: relative; flex: none; }
.attachment-menu { position: absolute; bottom: calc(100% + 10px); right: 0; z-index: 25; min-width: 180px; padding: 6px; border: 1px solid var(--line-strong); background: var(--surface); color: var(--ink); border-radius: 14px; box-shadow: 0 10px 32px #0002; }
.attachment-menu[hidden] { display: none; }
.attachment-option { width: 100%; padding: 11px 12px; display: flex; align-items: center; gap: 10px; min-height: 42px; border: 0; background: transparent; color: var(--ink); text-align: left; border-radius: 9px; font: inherit; font-size: 14px; }
.attachment-option:hover, .attachment-option:focus-visible { background: var(--surface-3); }
.attachment-camera { display: none; }
.attach-wrap > button[aria-expanded="true"] { background: var(--surface-3); }
@media (max-width: 640px), (pointer: coarse) {
  .attachment-camera { display: flex; }
  .attachment-option { min-height: 46px; }
}
/* 文档附件保留文件名称与大小，避免套用图片的60px缩略图。 */
.att-row{flex-wrap:wrap;min-width:0}
.att-row .att--file{display:flex;align-items:center;gap:10px;width:min(270px,100%);max-width:100%;height:auto;min-height:60px;flex:none;padding:10px 28px 10px 10px;background:var(--surface-2);color:var(--ink);box-sizing:border-box}
.att-row .att-file-ic{display:grid;place-items:center;flex:none;width:35px;height:37px;border:1px solid var(--line-strong);border-radius:6px;background:var(--surface);color:var(--ink-3);font-size:9px;font-weight:600}
.att-row .att-file-txt{display:flex;flex-direction:column;gap:5px;min-width:0;flex:1}
.att-row .att-file-txt b{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:550;line-height:1.5}
.att-row .att-file-txt small{font-size:10px;color:var(--ink-3)}
/* 多附件默认折叠；展开管理也保持有界高度，手机输入框始终可见。 */
.att-row.att-row--collection{flex-direction:column;gap:6px;max-width:100%}
.att-summary{display:flex;align-items:center;gap:9px;min-height:36px;width:100%;padding:7px 10px;background:var(--surface-2);color:var(--ink);border:1px solid var(--line);border-radius:10px;font:inherit;font-size:12px;text-align:left}
.att-summary b{font-weight:550;flex:1}
.att-summary>span{color:var(--ink-3)}
.att-collection-list{max-height:144px;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;width:100%;padding:2px;border:1px solid var(--line);border-radius:10px;background:var(--surface);box-sizing:border-box}
.att-collection-item{display:flex;align-items:center;gap:8px;min-height:36px;padding:3px 6px;color:var(--ink);font-size:12px;box-sizing:border-box}
.att-collection-item>svg{flex:none;color:var(--ink-3)}
.att-collection-name{min-width:0;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.att-collection-item small{flex:none;font-size:10px;color:var(--ink-3)}
.att-collection-remove{display:grid;place-items:center;width:28px;height:28px;flex:none;border:0;background:transparent;color:var(--ink-3);border-radius:6px}
.att-summary:hover,.att-collection-remove:hover{background:var(--surface-3)}
.att-collection-remove:focus-visible,.att-summary:focus-visible{outline:2px solid var(--accent);outline-offset:1px}
