.file-attachments-widget { display:inline-flex; align-items:center; flex-wrap:wrap; gap:4px; padding:2px; border:1px solid #cbd5e1; border-radius:5px; white-space:nowrap; }
.file-attachment-actions,.file-attachment-images { display:inline-flex; align-items:center; gap:2px; }
.file-attachments-label { margin:0 3px; color:#64748b; font-size:8px; font-weight:700; line-height:1; letter-spacing:.04em; text-transform:uppercase; }
.file-attachments-widget button { width:25px; height:25px; padding:0; border:0; border-radius:50%; background:#eef2ff; color:#475569; cursor:pointer; }
.file-attachments-widget .file-attachments-add { background:#e2e8f0; font-size:10px; }
.file-attachments-widget button:hover { background:#c7d2fe; color:#3730a3; }
.file-attachments-widget .file-attachment-image { width:42px; height:42px; overflow:hidden; border-radius:6px; background:#e2e8f0; }
.file-attachments-widget .file-attachment-image img { display:block; width:100%; height:100%; object-fit:cover; }
.file-attachments-overlay,.file-viewer-overlay { position:fixed; inset:0; z-index:10020; display:grid; place-items:center; padding:20px; background:rgba(15,23,42,.65); }
.file-viewer-overlay { z-index:10030; }
.file-attachments-overlay.hidden,.file-viewer-overlay.hidden { display:none; }
.file-attachments-modal,.file-viewer-modal { width:min(620px,100%); max-height:90vh; overflow:auto; border-radius:12px; background:white; box-shadow:0 24px 60px rgba(0,0,0,.3); }
.file-viewer-modal { width:min(1100px,96vw); height:90vh; display:flex; flex-direction:column; overflow:hidden; }
.file-attachments-modal header,.file-viewer-modal header { display:flex; align-items:center; gap:12px; padding:14px 18px; border-bottom:1px solid #e2e8f0; }
.file-attachments-modal h3,.file-viewer-modal h3 { flex:1; margin:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.file-attachments-close,.file-viewer-close { border:0; background:none; font-size:28px; cursor:pointer; }
.file-viewer-download { padding:7px 12px; border-radius:6px; background:#e2e8f0; color:#1e293b; text-decoration:none; }
.file-viewer-modal iframe { flex:1; width:100%; border:0; background:#f8fafc; }
#file-attachments-upload { display:flex; gap:10px; padding:16px 18px; border-bottom:1px solid #e2e8f0; }
.file-attachments-picker { flex:1; display:flex; align-items:center; gap:8px; padding:10px; border:1px dashed #94a3b8; border-radius:7px; cursor:pointer; }
.file-attachments-picker input { max-width:100%; }
#file-attachments-upload button { padding:8px 18px; border:0; border-radius:7px; background:#2563eb; color:white; font-weight:600; }
.file-attachments-list { padding:8px 18px 18px; }
.file-attachments-list article { display:flex; align-items:center; gap:10px; padding:10px 0; border-bottom:1px solid #e2e8f0; }
.file-attachments-list article>div { flex:1; min-width:0; }
.file-attachments-list strong,.file-attachments-list small { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.file-attachments-list small { color:#64748b; margin-top:3px; }
.file-attachment-open,.file-attachment-delete { border:0; background:#eef2ff; color:#475569; border-radius:50%; width:30px; height:30px; cursor:pointer; }
.file-attachment-delete { background:#fee2e2; color:#b91c1c; }
.file-attachments-empty { text-align:center; color:#64748b; padding:20px; }
