.field input[type=file]{padding:12px 15px;cursor:pointer;font:inherit;color:var(--muted)}
.field input[type=file]::file-selector-button{border:1px solid var(--ink);background:#fff;color:var(--ink);font:inherit;font-size:14px;font-weight:500;padding:8px 14px;margin-right:14px;cursor:pointer;transition:background-color .15s,color .15s}
.field input[type=file]:hover::file-selector-button{background:var(--ink);color:#fff}
.attachment-hint{font-size:13px;color:var(--muted);margin:-2px 0 0}
.attachment-list{list-style:none;margin:0;padding:0;display:grid;gap:8px;font-size:14px}
.attachment-list[hidden]{display:none}
.attachment-item{position:relative;display:flex;align-items:center;gap:12px;border:1px solid var(--line);padding:11px 10px 11px 14px;background:#fff;overflow:hidden}
.attachment-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.attachment-status{color:var(--muted);font-size:13px;white-space:nowrap}
.attachment-item.done .attachment-status{color:var(--blue)}
.attachment-item.error{border-color:var(--orange)}
.attachment-item.error .attachment-status{color:var(--orange);white-space:normal}
.attachment-remove{border:0;background:none;color:var(--muted);font-size:20px;line-height:1;padding:0 6px;cursor:pointer;transition:color .15s}
.attachment-remove:hover{color:var(--orange)}
.attachment-bar{position:absolute;left:0;bottom:0;height:2px;width:var(--p,0%);background:var(--blue);transition:width .2s}
.attachment-item.done .attachment-bar,.attachment-item.error .attachment-bar{display:none}
@media(max-width:700px){.attachment-status{font-size:12px}.attachment-item{padding-left:12px}}
