Upload dropzone

Upload dropzone: a CSS card. Copy the rules, or the prompt that rebuilds it.

fileuploaddropzonedashedlighthover

CSS
.card-053 {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
  width: 320px;
  padding: 32px 24px;
  background: #f8fafc;
  border: 2px dashed #cbd5e1;
  border-radius: 16px;
  font-family: system-ui,sans-serif;
  color: #475569;
  text-align: center;
  cursor: pointer;
  transition: background .2s,border-color .2s
}
.card-053 input {
  display: none
}
.card-053 svg {
  color: #64748b;
  margin-bottom: 6px;
  transition: transform .2s,color .2s
}
.card-053 b {
  font-size: 14px;
  color: #0f172a
}
.card-053 span {
  font-size: 12px;
  color: #94a3b8
}
.card-053:hover {
  background: #eff6ff;
  border-color: #3b82f6
}
.card-053:hover svg {
  color: #3b82f6;
  transform: translateY(-3px)
}
.card-053 :is(a,button,input,select,textarea):focus-visible { outline: 2px solid currentColor; outline-offset: 2px; }
HTML
<label class="card-053">
  <input type="file">
  <svg viewBox="0 0 24 24" width="32" height="32" fill="none" stroke="currentColor" stroke-width="1.8"><path d="M12 16V4m0 0l-4 4m4-4l4 4M4 17v2a1 1 0 0 0 1 1h14a1 1 0 0 0 1-1v-2"/></svg>
  <b>Drop files here or click to browse</b>
  <span>PNG, JPG or SVG up to 10 MB</span>
</label>
Prompt

Create a 320px upload dropzone as a label around a hidden file input: background #f8fafc, 2px dashed #cbd5e1 border, 16px radius, padding 32px 24px, centered column layout. A 32px upload-arrow SVG in #64748b, a 14px bold line "Drop files here or click to browse" in #0f172a and a 12px hint in #94a3b8. On hover the background turns #eff6ff, the border #3b82f6, and the icon turns blue and lifts 3px.