/* AixFlow File Manager Styles */
/* Extracted from point3.jsp */

/* New file highlight animation */
.new-file-highlight {
	background-color: #d4edda !important;
	border: 2px solid #28a745 !important;
	animation: newFilePulse 0.5s ease-in-out;
}

@keyframes newFilePulse {
	0% {
		background-color: #ffffff;
		transform: scale(1);
	}
	50% {
		background-color: #d4edda;
		transform: scale(1.02);
	}
	100% {
		background-color: #d4edda;
		transform: scale(1);
	}
}

/* Drag & Drop visual states */
.drop-zone.drag-over {
	border-color: #007bff !important;
	background-color: #e3f2fd !important;
	transform: scale(1.02);
}

.drop-zone.uploading {
	border-color: #28a745 !important;
	background-color: #d4edda !important;
}

.drop-zone.error {
	border-color: #dc3545 !important;
	background-color: #f8d7da !important;
}

/* File status row highlighting */
.file-row.status-completed {
	background-color: #f0f9f0 !important;
	border-left: 4px solid #90EE90 !important;
}

.file-row.status-error {
	background-color: #fdf0f0 !important;
	border-left: 4px solid #FFB6C1 !important;
}

.file-row.status-processing {
	background-color: #fff8f0 !important;
	border-left: 4px solid #FFE4B5 !important;
}

.file-row.status-queued {
	background-color: #f0f8ff !important;
	border-left: 4px solid #87CEEB !important;
}

.file-row.has-analytics {
	background-color: #f8f0ff !important;
	border-left: 4px solid #DDA0DD !important;
}

/* Combined status highlighting */
.file-row.status-completed.has-analytics {
	background-color: #f0f4f0 !important;
	border-left: 4px solid #98FB98 !important;
}

.file-row.status-error.has-analytics {
	background-color: #faf0f0 !important;
	border-left: 4px solid #F0B6C1 !important;
}

/* File row hover effect */
.file-row:hover {
	background-color: #f8f9fa;
}

/* Drag & Drop Styles */
.drop-zone {
	transition: all 0.3s ease;
}

.drop-zone.drag-over {
	border-color: #007bff;
	background-color: #e3f2fd;
	transform: scale(1.02);
}

.drop-zone.drag-over .drop-zone-content {
	color: #007bff;
}

.drop-zone:hover {
	border-color: #007bff;
	background-color: #f0f8ff;
}

.drop-zone.uploading {
	border-color: #28a745;
	background-color: #d4edda;
}

.drop-zone.error {
	border-color: #dc3545;
	background-color: #f8d7da;
}

/* File info panel animation */
.file-info-panel {
	animation: slideDown 0.3s ease-out;
}

@keyframes slideDown {
	from {
		opacity: 0;
		transform: translateY(-10px);
	}
	to {
		opacity: 1;
		transform: translateY(0);
	}
}

/* Audio and video players */
.audio-player, .video-player {
	margin-top: 10px;
	padding: 10px;
	background-color: #f5f5f5;
	border-radius: 5px;
	border: 1px solid #ddd;
}

/* Purple button styles */
.btn-purple {
	background-color: #6f42c1;
	color: white;
	border: none;
	padding: 8px 16px;
	border-radius: 4px;
	cursor: pointer;
	font-size: 14px;
	margin-left: 5px;
}

.btn-purple:hover {
	background-color: #5a32a3;
}

/* N8n status button */
.n8n-status-button {
	margin-left: 5px;
}

/* Speech analytics panel */
.speech-analytics-panel {
	animation: slideDown 0.3s ease-out;
	width: 100%;
	box-sizing: border-box;
	overflow: visible;
	position: relative;
	z-index: 1000;
}

.speech-analytics-panel .grid-container {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 15px;
	width: 100%;
}

/* Responsive design */
@media (max-width: 768px) {
	.speech-analytics-panel .grid-container {
		grid-template-columns: 1fr;
	}
}