.rapid-attachments { min-width:0; }
.rapid-attachments__grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(min(140px,100%),1fr)); gap:var(--rapid-space-3); list-style:none; padding:0; margin:0; align-items:stretch; }
.rapid-attachment { min-width:0; border:1px solid var(--rapid-line); border-radius:var(--rapid-radius-control); background:var(--rapid-paper); overflow:hidden; }
.rapid-attachment > .rapid-button:disabled { opacity:1; }
.rapid-attachment__preview { display:grid; place-items:center; width:100%; height:96px; background:var(--rapid-canvas-sunk); border-radius:var(--rapid-radius-control); overflow:hidden; }
.rapid-attachment__preview > .rapid-image { width:100%; height:100%; object-fit:cover; }
.rapid-attachment__placeholder { display:grid; justify-items:center; align-content:center; gap:var(--rapid-space-1); color:var(--rapid-muted); font-family:var(--rapid-font-technical); font-size:var(--rapid-text-3xs); }
.rapid-attachment__title, .rapid-attachment__detail, .rapid-attachment__status { display:block; width:100%; text-align:left; overflow-wrap:anywhere; }
.rapid-attachment__title { color:var(--rapid-ink); font-weight:700; font-size:var(--rapid-text-sm); }
.rapid-attachment__detail, .rapid-attachment__status { color:var(--rapid-muted); font-weight:500; font-size:var(--rapid-text-3xs); }
.rapid-attachment--missing, .rapid-attachment--optional, .rapid-attachment--notrequired { border-style:dashed; }
.rapid-attachment--missing .rapid-attachment__preview { background:var(--rapid-amber-soft); }
.rapid-attachment--missing .rapid-attachment__status, .rapid-attachment--missing .rapid-attachment__placeholder { color:var(--rapid-amber); }
.rapid-attachment--error .rapid-attachment__status, .rapid-attachment--error .rapid-attachment__placeholder { color:var(--rapid-danger); }
@media(max-width:390px) { .rapid-attachments__grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:var(--rapid-space-2); } }
