.image-display{border:1px solid #e5e7eb;border-radius:6px;overflow:hidden;background-color:#f9fafb}.image-display,.image-fallback{display:flex;align-items:center;justify-content:center}.image-fallback{width:100%;height:100%;font-size:3rem;background:linear-gradient(135deg,#f3f4f6,#e5e7eb)}.image-gallery{display:flex;flex-direction:column;gap:1rem}.gallery-main{width:100%;aspect-ratio:4/3;border-radius:6px;overflow:hidden;border:1px solid #e5e7eb;background-color:#f9fafb}.gallery-main-image{width:100%;height:100%;object-fit:cover}.gallery-thumbnails{display:flex;gap:.75rem;overflow-x:auto;padding-bottom:.5rem}.gallery-thumbnail{width:80px;height:80px;border:2px solid #e5e7eb;border-radius:4px;padding:0;cursor:pointer;overflow:hidden;flex-shrink:0;background:none;transition:all .2s}.gallery-thumbnail img{width:100%;height:100%;object-fit:cover}.gallery-thumbnail:hover{border-color:#bfdbfe}.gallery-thumbnail.active{border-color:#4f46e5;box-shadow:0 0 0 2px rgba(79,70,229,.1)}.image-gallery-empty{padding:2rem;text-align:center;color:#6b7280;background-color:#f9fafb;border-radius:6px}.file-upload{display:flex;flex-direction:column;gap:1rem}.upload-zone{border:2px dashed #bfdbfe;border-radius:8px;padding:2rem;text-align:center;cursor:pointer;transition:all .2s;background-color:#f0f9ff}.upload-zone.active,.upload-zone:hover{border-color:#4f46e5;background-color:#ede9fe}.upload-zone.disabled{opacity:.5;cursor:not-allowed}.file-input{display:none}.upload-content{display:flex;flex-direction:column;align-items:center;gap:.75rem}.upload-icon{font-size:2.5rem}.upload-text{margin:0;font-weight:500;color:#1f2937;font-size:.9375rem}.upload-hint{margin:0;color:#6b7280;font-size:.8125rem}.upload-error{padding:.75rem 1rem;background-color:#fee2e2;border:1px solid #fca5a5;border-radius:4px;color:#b91c1c;font-size:.875rem}.uploaded-files{padding:1rem;background-color:#f9fafb;border-radius:6px;border:1px solid #e5e7eb}.uploaded-files h3{margin:0 0 .75rem;font-size:.9375rem;font-weight:600}.uploaded-files ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.5rem}.file-item{display:flex;justify-content:space-between;align-items:center;padding:.5rem;background-color:white;border-radius:4px;border:1px solid #e5e7eb}.file-name{font-size:.875rem;color:#1f2937;word-break:break-word;flex:1 1}.remove-btn{background:none;border:none;color:#ef4444;cursor:pointer;font-size:1rem;padding:.25rem;flex-shrink:0;transition:color .2s}.remove-btn:hover{color:#dc2626}.current-image-preview,.current-images-preview{margin-bottom:1rem;padding:1rem;background-color:#f9fafb;border-radius:6px;border:1px solid #e5e7eb}.current-image-preview .helper-text,.current-images-preview .helper-text{font-size:.875rem;color:#6b7280;margin:0 0 .5rem;font-weight:500}.preview-image{max-width:100%;width:auto;max-height:200px;border-radius:6px;border:2px solid #e5e7eb;object-fit:contain;background-color:white;display:block}.preview-images-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:.75rem}.preview-images-grid .preview-image{width:100%;height:120px;max-width:none;max-height:none;object-fit:cover}.uploaded-images-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:1rem}.uploaded-image-item{position:relative;background:white;border:1px solid #e5e7eb;border-radius:6px;overflow:hidden;transition:box-shadow .2s}.uploaded-image-item:hover{box-shadow:0 2px 8px rgba(0,0,0,.1)}.uploaded-thumbnail{width:100%;height:150px;object-fit:cover;display:block}.image-item-info{padding:.5rem;display:flex;flex-direction:column;gap:.25rem}.image-item-info .file-name{font-size:.8125rem;color:#1f2937;font-weight:500}.image-item-info .file-size{font-size:.75rem;color:#6b7280}.uploaded-image-item .remove-btn{position:absolute;top:.5rem;right:.5rem;background:rgba(255,255,255,.95);width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 4px rgba(0,0,0,.1);font-size:.875rem;color:#ef4444;border:1px solid #fee2e2}.uploaded-image-item .remove-btn:hover{background:white;box-shadow:0 2px 8px rgba(0,0,0,.15)}