.file-upload{position:relative;grid-column:1/-1;display:grid;gap:.45rem;cursor:pointer}.file-upload-control{display:flex;align-items:center;gap:.85rem;width:100%;padding:.85rem 1rem;border:1px dashed #8a8a8a;border-radius:var(--r-sm);background:var(--c-off);color:var(--c-ink);transition:border-color .18s ease,background-color .18s ease,box-shadow .18s ease}.file-upload:hover .file-upload-control,.file-upload:focus-within .file-upload-control{border-color:var(--c-primary);background:#fffde8;box-shadow:0 0 0 2px #ffec0033}.file-upload-icon{flex:0 0 auto;display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:var(--c-primary);color:var(--c-ink)}.file-upload-icon svg{width:21px;height:21px}.file-upload-copy{display:grid;gap:.15rem;min-width:0}.file-upload-copy strong{font-family:var(--f-head);font-size:.98rem;color:var(--c-ink)}.file-upload-copy small{font-size:.78rem;line-height:1.35;color:var(--c-body)}.file-upload input[type=file]{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.file-upload-selection{font-size:.8rem;line-height:1.35;color:var(--c-body);overflow-wrap:anywhere}.file-upload-selection.has-files{color:#245d30;font-weight:600}.file-upload-selection.error{color:#b00020;font-weight:600}@media(max-width:480px){.file-upload-control{align-items:flex-start}.file-upload-icon{width:38px;height:38px}.file-upload-copy small{font-size:.75rem}}
