@keyframes fadeIn-d28f25e0{0%{opacity:0}to{opacity:1}}@keyframes slideUp-d28f25e0{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes scaleIn-d28f25e0{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}@keyframes spin-d28f25e0{0%{transform:rotate(0)}to{transform:rotate(1turn)}}@keyframes pulse-d28f25e0{0%,to{opacity:1}50%{opacity:.5}}.file-input__field-wrapper[data-v-d28f25e0]{display:flex;flex-direction:column;gap:.25rem}.file-input__label[data-v-d28f25e0]{color:var(--color-text-primary);font-weight:500;margin-bottom:.25rem}.file-input__label .field__required[data-v-d28f25e0]{color:var(--color-error)}.file-input__input[data-v-d28f25e0]{height:0;opacity:0;pointer-events:none;position:absolute;width:0}.file-input__drop-zone[data-v-d28f25e0]{align-items:center;background-color:var(--color-surface);border:2px solid var(--color-border);border-radius:.5rem;cursor:pointer;display:flex;flex-direction:column;gap:.5rem;justify-content:center;min-height:120px;padding:1.5rem;position:relative;transition:all .2s ease}.file-input__drop-zone[data-v-d28f25e0]:hover{background-color:rgba(var(--color-primary-rgb),.05);border-color:var(--color-primary)}.file-input__drop-zone--drag[data-v-d28f25e0]{background-color:rgba(var(--color-primary-rgb),.1);border-color:var(--color-primary);border-style:dashed}.file-input__drop-zone--disabled[data-v-d28f25e0]{cursor:not-allowed;opacity:.5;pointer-events:none}.file-input__drop-zone--error[data-v-d28f25e0]{border-color:var(--color-error);border-style:solid;border-width:2px}.file-input__upload-icon[data-v-d28f25e0]{color:var(--color-text-secondary);font-size:2rem}.file-input__placeholder[data-v-d28f25e0]{color:var(--color-text-secondary);font-size:1rem;text-align:center}.file-input__accept[data-v-d28f25e0]{color:var(--color-text-tertiary);font-size:.875rem}.file-input__previews[data-v-d28f25e0]{display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));width:100%}.file-input__preview[data-v-d28f25e0]{align-items:center;background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:.25rem;display:flex;flex-direction:column;gap:.25rem;padding:.5rem;position:relative}.file-input__preview:hover .file-input__remove[data-v-d28f25e0]{opacity:1}.file-input__preview-image[data-v-d28f25e0]{border-radius:.25rem;height:100px;-o-object-fit:cover;object-fit:cover;width:100%}.file-input__preview-info[data-v-d28f25e0]{align-items:center;display:flex;flex-direction:column;gap:.25rem;width:100%}.file-input__preview-icon[data-v-d28f25e0]{color:var(--color-text-secondary);font-size:2rem}.file-input__preview-name[data-v-d28f25e0]{color:var(--color-text-primary);font-size:.875rem;max-width:100%;overflow:hidden;text-align:center;text-overflow:ellipsis;word-break:break-word}.file-input__preview-size[data-v-d28f25e0]{color:var(--color-text-tertiary);font-size:.75rem}.file-input__remove[data-v-d28f25e0]{align-items:center;background-color:var(--color-error);border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;height:24px;justify-content:center;opacity:0;padding:0;position:absolute;right:-8px;top:-8px;transition:opacity .2s;width:24px}.file-input__remove[data-v-d28f25e0]:hover{opacity:1;transform:scale(1.1)}.file-input__add-button[data-v-d28f25e0]{align-items:center;background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:.25rem;color:var(--color-text-primary);cursor:pointer;display:flex;gap:.25rem;padding:.5rem 1rem;transition:all .2s}.file-input__add-button[data-v-d28f25e0]:hover{border-color:var(--color-primary);color:var(--color-primary)}.file-input__add-button[data-v-d28f25e0]:disabled{cursor:not-allowed;opacity:.5}.file-input__count[data-v-d28f25e0]{color:var(--color-text-tertiary);font-size:.875rem;text-align:right}.file-input .field__error[data-v-d28f25e0]{color:var(--color-error);font-size:.875rem}.file-input .field__help-text[data-v-d28f25e0]{color:var(--color-text-tertiary)}@media (max-width:768px){.file-input__previews[data-v-d28f25e0]{gap:.5rem;grid-template-columns:repeat(auto-fill,minmax(100px,1fr))}.file-input__preview-image[data-v-d28f25e0]{height:80px}}
