/* Local attachments: compact controls for the comment dialog and sidebar. */
.attachment-editor{margin:12px 0 4px;padding:12px;border:1px dashed #d5deca;border-radius:9px;background:#fafcf6;transition:border-color .12s,background .12s;min-width:0}
.attachment-editor.is-dragging{border-color:#ec8e59;background:#fff2e6;box-shadow:0 0 0 2px #f4b38233}
.attachment-toolbar{display:flex;align-items:center;justify-content:space-between;gap:9px}
.attachment-editor .attachment-add{display:inline-flex;align-items:center;gap:7px;border:0;border-radius:5px;background:transparent;color:#71815e;padding:2px 0;font-size:11px;font-weight:500;margin:0;line-height:1.5;text-align:left}
.attachment-add>svg{flex-shrink:0}.attachment-editor .attachment-add:disabled{cursor:default;opacity:.45}
.attachment-count{font-size:9px;color:#9ca78f;white-space:nowrap}
.attachment-editor .attachment-hint{font-size:9px;line-height:1.65;color:#9aa58b;margin:7px 0 0}
.attachment-drafts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin-top:11px}
.attachment-draft{min-width:0;padding:0;border:1px solid #e0e6d7;border-radius:8px;overflow:hidden;background:#fff}
.attachment-preview{height:86px;position:relative;background:repeating-conic-gradient(#f0f2e9 0% 25%,#f8faf4 0% 50%) 0 0/16px 16px;display:grid;place-items:center}
.attachment-preview>img{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:contain}
.attachment-placeholder{color:#a1ae93;display:grid;place-items:center}.attachment-placeholder svg{width:25px;height:25px}
.attachment-editor .attachment-remove{position:absolute;top:4px;right:4px;z-index:2;display:grid;place-items:center;width:23px;height:23px;margin:0;padding:0;border:1px solid #e1e5d9;background:#fffef5ed;color:#77836a;border-radius:50%;font-size:18px;line-height:1}
.attachment-editor .attachment-remove:hover{background:#fff0e5;color:#c76e42}
.attachment-file-info{padding:7px 7px 8px;display:flex;flex-direction:column;gap:3px}
.attachment-name{font-size:9px;color:#6d7b5e;text-overflow:ellipsis;overflow:hidden;white-space:nowrap}
.attachment-file-state{font-size:8px;color:#a0ab93}
.attachment-loading{position:absolute;bottom:0;left:0;right:0;height:3px;overflow:hidden;background:#f6c69b}
.attachment-loading>progress{display:block;width:100%;height:3px;accent-color:#f26931;border:0}
.attachment-draft.has-error{border-color:#e9bca7}.attachment-draft.has-error .attachment-file-state{color:#c07652}
.attachment-editor .attachment-error{font-size:9px;line-height:1.55;color:#b57555;margin:0;padding:0 7px;overflow-wrap:anywhere}
.attachment-editor .attachment-retry{display:block;padding:6px 7px 8px;margin:0;border:0;background:transparent;color:#c87543;font-size:9px;text-decoration:underline}
.attachment-announcement{font-size:9px;line-height:1.6;color:#98a589;margin-top:8px}.attachment-announcement:empty{display:none}
.comment-attachments{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin:10px 0}
.comment-attachments>.comment-attachment{display:flex;flex-direction:column;align-items:stretch;min-width:0;padding:0;background:#f8faf4;border:1px solid #e1e7d7;border-radius:8px;overflow:hidden;text-align:left}
.comment-attachment>img{display:block;width:100%;height:96px;object-fit:contain;background:repeating-conic-gradient(#eef1e6 0% 25%,#f9fbf5 0% 50%) 0 0/14px 14px}
.comment-attachment>span{display:block;padding:6px 7px;font-size:9px;line-height:1.4;color:#89977a;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.comment-attachment:hover{border-color:#bbcca5;box-shadow:0 0 0 1px #d3dfc4}
.reply-form .attachment-editor{padding:9px}.reply-form .attachment-drafts{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.reply-form .attachment-preview{height:76px}.reply-form .attachment-hint{font-size:8px}
@media(max-width:430px){.attachment-drafts{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(prefers-reduced-motion:reduce){.attachment-editor{transition:none}}
