.wrapper { @apply w-full max-w-md mx-auto p-4; } .dropzone { @apply border-2 rounded-lg p-4 flex flex-col items-center justify-center transition-colors duration-150; } .normal { @apply border-dashed border-gray-300 bg-white; } .dragging { @apply border-indigo-400 bg-indigo-50; } .fileInput { @apply hidden; } .previewBox { @apply w-32 h-32 rounded-md overflow-hidden bg-gray-100 flex items-center justify-center mb-3; } .previewImg { @apply object-cover w-full h-full cursor-pointer; } .placeholder { @apply text-gray-400 text-center text-sm px-2; } .row { @apply w-full flex gap-2 items-center; } .textInput { @apply flex-1 px-3 py-2 border rounded h-10 cursor-pointer bg-white text-gray-700 focus:outline-none focus:ring-2 focus:ring-indigo-500; } .btn { @apply px-4 py-2 rounded text-white; } .btnLoading { @apply bg-indigo-300; } .btnPrimary { @apply bg-indigo-600 hover:bg-indigo-700; } .errorMsg { @apply mt-3 text-sm text-red-600; } .successMsg { @apply mt-3 text-sm text-green-600; }