.fileItem { display: flex; align-items: center; height: 60px; padding: 0px 16px; justify-content: space-between; color: var(--Grayscale-Black, #24262B); transition: background-color 0.2s ease; } .fileItem:hover { background-color: #f9f9f9; } /* Column layout matching the header structure */ .fileName { display: flex; align-items: center; overflow: hidden; font-weight: 500; color: #333; padding-left: 14px; /* Align with table header */ } .fileName span { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; margin-left: 12px; } .fileType { font-size: 14px; color: #666; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; display: flex; flex-direction: column; gap: 2px; } .fileSource { font-size: 12px; color: #888; font-weight: 400; opacity: 0.8; } .fileSize { font-size: 14px; color: #666; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; } .fileDateWithActions { display: flex; justify-content: space-between; align-items: center; width: 100%; } .fileDate { font-size: 14px; color: #666; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; margin-right: 8px; } .icon { font-size: 18px; color: #757575; flex-shrink: 0; } .actionButtons { display: flex; gap: 4px; justify-content: flex-end; margin-left: auto; } .downloadButton, .deleteButton, .previewButton { display: flex; align-items: center; justify-content: center; gap: 4px; padding: 6px; border: none; border-radius: 4px; background-color: transparent; color: var(--text-color-secondary, #666); cursor: pointer; transition: all 0.2s ease; min-width: 32px; } .downloadButton:hover:not(:disabled), .deleteButton:hover:not(:disabled), .previewButton:hover:not(:disabled) { background-color: var(--background-color-hover, #e8e8e8); color: var(--text-color-primary, #333); } .deleteButton:hover:not(:disabled) { color: #dc2626; } .previewButton:hover:not(:disabled) { color: #3b82f6; } .deleteButton.confirm { background-color: #fee2e2; color: #dc2626; } .deleteButton.confirm:hover:not(:disabled) { background-color: #fecaca; } .downloadButton:disabled, .deleteButton:disabled, .previewButton:disabled { cursor: not-allowed; opacity: 0.7; } .actionIcon { font-size: 16px; flex-shrink: 0; } .downloadButton.downloading, .deleteButton.deleting { background-color: var(--background-color-light, #f5f5f5); } .actionText { font-size: 12px; color: var(--text-color-secondary, #666); animation: pulse 1.5s infinite; white-space: nowrap; } .deleteButton.confirm .actionText { color: #dc2626; animation: none; } @keyframes pulse { 0% { opacity: 0.6; } 50% { opacity: 1; } 100% { opacity: 0.6; } }