.companion-upload { padding: 28px 20px; margin: 20px 0; border: 2px dashed black; border-radius: 5px; text-align: center; background: #bef29a; cursor: pointer; }
.companion-upload:focus-visible { outline: 2px solid #222; outline-offset: 2px; }
.companion-upload[aria-busy="true"] { cursor: progress; }
.companion-upload.drag-over { border-style: solid; }
.companion-upload-prompt { font-size: 20px; }
.companion-file-button { position: relative; overflow: hidden; margin-bottom: 0; }
.companion-file-button input { position: absolute; inset: 0; opacity: 0; cursor: pointer; width: 100%; height: 100%; }
.companion-file-button:focus-within { outline: 2px solid #222; outline-offset: 2px; }
.companion-upload-status { margin-top: 14px; }
.companion-upload progress { width: min(100%, 500px); height: 20px; }
.companion-upload [hidden] { display: none; }
.companion-upload .text-danger { margin-top: 12px; overflow-wrap: anywhere; }
