.vw-upload{display:block;min-width:0;width:100%;margin:8px 0;font:inherit;color:var(--vw-ink,#183449);text-align:left}
.vw-upload__zone{position:relative;display:flex;align-items:center;gap:14px;min-height:100px;padding:18px;border:1.5px dashed #b9a4d5;border-radius:12px;background:#faf8ff;transition:background .15s,border-color .15s;box-sizing:border-box}
.vw-upload__zone:hover,.vw-upload__zone:focus-within,.vw-upload__zone.is-dragging{border-color:#7024b4;background:#f0e8fc;outline:2px solid #e3d4f6;outline-offset:2px}
.vw-upload .vw-upload__input{display:block!important;visibility:visible!important;position:absolute!important;inset:0!important;width:100%!important;height:100%!important;max-width:none!important;opacity:0!important;cursor:pointer;margin:0!important;padding:0!important;z-index:1}
.vw-upload__icon{display:flex;align-items:center;justify-content:center;flex:0 0 40px;width:40px;height:40px;border-radius:10px;background:#eae0f6;color:#7024b4;font:700 26px/1 sans-serif}
.vw-upload__copy{display:flex;flex-direction:column;gap:6px;min-width:0;pointer-events:none}.vw-upload__copy strong{font-size:1em;color:#6024a0}.vw-upload__copy small{font-size:.85em;font-weight:400;color:#635b71;overflow-wrap:anywhere;line-height:1.5}
.vw-upload__files{display:grid;gap:10px;margin-top:12px}.vw-upload__files:empty{display:none}.vw-upload__file{display:flex;align-items:center;gap:14px;padding:12px;border:1px solid #e4dced;border-radius:10px;background:#fff;min-width:0}
.vw-upload__preview{display:block!important;width:76px!important;height:64px!important;object-fit:contain!important;margin:0!important;border-radius:6px;background:repeating-conic-gradient(#eee 0% 25%,#fff 0% 50%) 50%/12px 12px;flex:0 0 76px}
.vw-upload__filename{min-width:0;overflow-wrap:anywhere;font-weight:500;line-height:1.5}.vw-upload__filename small{display:block;color:#6b6476;font-size:.85em;font-weight:400;margin-top:4px}
.vw-upload__clear{display:inline-block;margin-top:10px;border:1px solid #d7c6e9;background:#fff;color:#7024b4;border-radius:8px;padding:8px 12px;font:inherit;font-size:.9em;cursor:pointer}.vw-upload__clear[hidden]{display:none}.vw-upload__note{color:#a33116;font-weight:400;margin:10px 0 0}
.vw-upload:has(input:disabled){opacity:.6}.vw-upload input:disabled{cursor:not-allowed}
/* Replace older decorative labels while keeping their original upload hooks. */
label.vw-ps-photos:has(.vw-upload),label.vw-drop:has(.vw-upload){display:block;padding:0;border:0;background:none;min-height:0}
label.vw-ps-photos:has(.vw-upload)>span,label.vw-drop:has(.vw-upload)>span{display:block;margin-bottom:6px}
@media(max-width:479px){.vw-upload__zone{padding:14px;gap:10px}.vw-upload__icon{flex-basis:32px;width:32px;height:32px}.vw-upload__preview{width:60px!important;flex-basis:60px;height:56px!important}}
@media(prefers-reduced-motion:reduce){.vw-upload__zone{transition:none}}
