.image-uploader-container{margin-bottom:1rem}.uploader-label{display:block;margin-bottom:.5rem;font-size:.875rem;font-weight:500;color:#374151}.uploader-box{display:flex;justify-content:center;align-items:center;width:100%;height:120px;border:2px dashed #d1d5db;border-radius:.5rem;cursor:pointer;background-color:#f9fafb;transition:border-color .2s;position:relative;overflow:hidden}.uploader-box:hover{border-color:#3b82f6}.uploader-box-error{border-color:#ef4444!important;background-color:#fef2f2}.uploader-box-error:hover{border-color:#dc2626!important}.uploader-loading{display:flex;flex-direction:column;align-items:center;justify-content:center}.uploader-preview{width:100%;height:100%;position:relative}.preview-image{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;border-radius:.5rem}.remove-button{position:absolute;top:.5rem;right:.5rem;background-color:#00000080;color:#fff;border:none;border-radius:50%;width:24px;height:24px;display:flex;align-items:center;justify-content:center;cursor:pointer}.uploader-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;color:#6b7280}.placeholder-text{margin-top:.5rem;font-size:.875rem}.preview-overlay{position:fixed;inset:0;background-color:#000000bf;display:flex;align-items:center;justify-content:center;z-index:1000;cursor:zoom-out}.preview-overlay img{max-width:90%;max-height:90%;-o-object-fit:contain;object-fit:contain}.uploader-error-message{margin-top:.25rem;font-size:.75rem;color:#ef4444;line-height:1.25}
