.pu-wrapper{width:100%}.dropzone{border:2px dashed #cbd5e1;border-radius:12px;background:#f8fafc;padding:3rem 2rem;text-align:center;transition:all .3s ease;cursor:pointer;margin-bottom:1rem;min-height:200px;display:flex;flex-direction:column;justify-content:center;align-items:center}.dropzone.drag-active,.dropzone:hover{border-color:#3b82f6;background:#f0f9ff}.dropzone--error{border-color:#dc2626;background:#fef2f2}.dropzone .icon-camera{display:block;margin:0 auto 1rem;color:#64748b;transition:color .3s ease;width:36px;height:36px}.dropzone:hover .icon-camera{color:#1e3a8a}.drop-text-desktop,.drop-text-mobile{margin:.5rem 0;line-height:1.5}.drop-text-desktop strong,.drop-text-mobile strong{display:block;font-size:1.1rem;font-weight:600;color:#1e293b;font-family:Inter,sans-serif}.dropzone p.text-muted.small{font-size:.9rem;color:#64748b;margin-top:.5rem;font-family:Inter,sans-serif}.drop-text-mobile{display:none!important}.media-feedback-list{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1rem}.media-feedback-item{font-family:Inter,sans-serif;font-size:.9rem;border-radius:8px;padding:.6rem .9rem}.alert-danger{background-color:#fee2e2;border:1px solid #fecaca;color:#991b1b}.alert-warning{background-color:#fff3cd;border:1px solid #ffeeba;color:#856404}.alert-info{background-color:#eff6ff;border:1px solid #bfdbfe;color:#1e40af}.btn-close-feedback{background:none;border:none;font-size:1.1rem;line-height:1;cursor:pointer;color:inherit;opacity:.6;padding:0 .25rem;transition:opacity .2s ease}.btn-close-feedback:hover{opacity:1}.preview-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));grid-gap:1rem;gap:1rem;margin-top:.5rem;width:100%}.preview-item{display:flex;flex-direction:column;align-items:stretch;background:#fff;border-radius:10px;overflow:hidden;box-shadow:0 1px 3px rgba(0,0,0,.05);transition:transform .2s ease}.preview-item:hover{transform:translateY(-2px)}.preview-thumb{position:relative;background:#f8fafc;border:1.5px solid #e2e8f0;overflow:hidden}.preview-thumb,.preview-thumb img{width:100%;border-radius:10px;height:140px}.preview-thumb img{display:block;object-fit:cover;transition:transform .25s ease;opacity:0;transform:scale(.97);animation:fadeInImage .4s ease forwards}.preview-thumb img:hover{transform:scale(1.02)}@keyframes fadeInImage{to{opacity:1;transform:scale(1)}}.preview-thumb.primary-thumb{border-color:#3b82f6;box-shadow:0 0 0 2px rgba(59,130,246,.25)}.badge-primary{position:absolute;top:8px;left:8px;background:#2563eb;color:#fff;font-size:.7rem;font-weight:600;padding:3px 8px;border-radius:6px;z-index:3;font-family:Inter,sans-serif}.thumb-actions{position:absolute;top:8px;right:8px;display:flex;flex-direction:column;gap:4px;z-index:5}.thumb-actions button{border:none;background:hsla(0,0%,100%,.9);border-radius:6px;font-size:.75rem;font-weight:600;cursor:pointer;box-shadow:0 1px 3px rgba(0,0,0,.12);padding:3px 5px;line-height:1;transition:all .2s ease}.thumb-actions button:hover{background:#f1f5f9;transform:scale(1.05)}.thumb-actions button:disabled{opacity:.4;cursor:not-allowed}@media (max-width:768px){.dropzone{padding:2rem 1rem;min-height:160px}.drop-text-desktop{display:none!important}.drop-text-mobile{display:block!important}.dropzone .icon-camera{width:30px;height:30px;margin-bottom:.6rem}.preview-grid{grid-template-columns:repeat(2,1fr)}.preview-thumb,.preview-thumb img{height:130px}}@media (prefers-reduced-motion:reduce){.dropzone,.preview-item,.preview-thumb img,.thumb-actions button{animation:none!important;transition:none!important}}