/* Estilos para HokoriTemp */ .drop-zone { transition: all 0.3s ease; } .drop-zone.dragover { border-color: #3b82f6; background-color: #eff6ff; } .result-section { transition: all 0.3s ease; } .fade-in { animation: fadeIn 0.3s ease-in; } @keyframes fadeIn { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: translateY(0); } } /* Estilos para archivos grandes */ .file-size-warning { background-color: #fef3c7; border-color: #f59e0b; color: #92400e; } .file-size-error { background-color: #fee2e2; border-color: #ef4444; color: #991b1b; } /* Estilos para loading */ .loading-spinner { animation: spin 1s linear infinite; } @keyframes spin { from { transform: rotate(0deg); } to { transform: rotate(360deg); } } /* Estilos para notificaciones */ .notification { position: fixed; top: 20px; right: 20px; z-index: 1000; padding: 1rem; border-radius: 0.5rem; box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1); transform: translateX(100%); transition: transform 0.3s ease; } /* Estilos para truncate mejorado */ .truncate { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } /* Mejorar el tooltip para nombres largos */ [title] { cursor: help; } .notification.show { transform: translateX(0); } .notification.success { background-color: #d1fae5; border: 1px solid #10b981; color: #065f46; } .notification.error { background-color: #fee2e2; border: 1px solid #ef4444; color: #991b1b; } .notification.warning { background-color: #fef3c7; border: 1px solid #f59e0b; color: #92400e; } /* Estilos para la barra de progreso */ #progressContainer { transition: all 0.3s ease; } #progressBar { transition: width 0.3s ease-out; background: linear-gradient(90deg, #3b82f6 0%, #1d4ed8 100%); box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1); } #progressBar::after { content: ''; position: absolute; top: 0; left: 0; right: 0; bottom: 0; background: linear-gradient(90deg, transparent 0%, rgba(255, 255, 255, 0.3) 50%, transparent 100%); animation: shimmer 2s infinite; } @keyframes shimmer { 0% { transform: translateX(-100%); } 100% { transform: translateX(100%); } } /* Animación para mostrar/ocultar la barra de progreso */ #progressContainer.hidden { opacity: 0; transform: translateY(-10px); } #progressContainer:not(.hidden) { opacity: 1; transform: translateY(0); }