/* 全域樣式 */
body {
	font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
	background-color: #f8f9fa;
}

/* Loading 遮罩 */
#loadingOverlay {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: rgba(0, 0, 0, 0.7);
	display: flex;
	justify-content: center;
	align-items: center;
	z-index: 9999;
}

/* 卡片樣式 */
.card {
	box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
	border: none;
	margin-bottom: 1.5rem;
}

.card-header {
	background-color: #f8f9fa;
	border-bottom: 1px solid #dee2e6;
	font-weight: 600;
}

/* 列表項目 */
.list-group-item {
	cursor: pointer;
	transition: background-color 0.2s;
}

.list-group-item:hover {
	background-color: #f1f3f5;
}

.list-group-item.active {
	background-color: #0d6efd;
	border-color: #0d6efd;
}

/* 音色卡片 */
.voice-card {
	border: 1px solid #dee2e6;
	border-radius: 0.375rem;
	padding: 1rem;
	margin-bottom: 0.75rem;
	background-color: #fff;
	transition: box-shadow 0.2s;
}

.voice-card:hover {
	box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
}

.voice-card h6 {
	margin: 0 0 0.5rem 0;
	font-weight: 600;
}

.voice-card .badge {
	font-size: 0.75rem;
}

/* 任務卡片 */
.task-card {
	border: 1px solid #dee2e6;
	border-radius: 0.375rem;
	padding: 1rem;
	margin-bottom: 1rem;
	background-color: #fff;
}

.task-card .task-header {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-bottom: 0.75rem;
}

.task-card .task-uuid {
	font-family: 'Courier New', monospace;
	font-size: 0.875rem;
	color: #6c757d;
}

.task-card .task-status {
	font-weight: 600;
}

/* 快速語音卡片 */
.quick-tts-card {
	border: 1px solid #dee2e6;
	background-color: #fff;
	transition: box-shadow 0.2s;
}

.quick-tts-card:hover {
	box-shadow: 0 2px 6px rgba(0, 0, 0, 0.1);
}

/* 音檔列表 */
.audio-file-item {
	border: 1px solid #dee2e6;
	border-radius: 0.375rem;
	padding: 0.75rem;
	margin-bottom: 0.5rem;
	background-color: #fff;
	display: flex;
	justify-content: space-between;
	align-items: center;
}

.audio-file-item:hover {
	background-color: #f8f9fa;
}

/* 佇列統計 */
.queue-stat {
	display: flex;
	justify-content: space-between;
	padding: 0.5rem 0;
	border-bottom: 1px solid #dee2e6;
}

.queue-stat:last-child {
	border-bottom: none;
}

.queue-stat .label {
	font-weight: 600;
}

.queue-stat .value {
	font-size: 1.25rem;
	font-weight: 700;
}

/* 工作項目 */
.work-item {
	border-left: 4px solid #6c757d;
	padding: 0.75rem;
	margin-bottom: 0.75rem;
	background-color: #fff;
	border-radius: 0.25rem;
}

.work-item.work-pending {
	border-left-color: #ffc107;
}

.work-item.work-running {
	border-left-color: #0dcaf0;
}

.work-item.work-completed {
	border-left-color: #198754;
}

.work-item.work-failed {
	border-left-color: #dc3545;
}

/* 狀態 badge 顏色 */
.status-draft {
	background-color: #6c757d;
}

.status-processed {
	background-color: #198754;
}

.status-pending {
	background-color: #ffc107;
}

.status-processing {
	background-color: #0dcaf0;
}

.status-completed {
	background-color: #198754;
}

.status-done {
	background-color: #198754;
}

.status-failed {
	background-color: #dc3545;
}

.status-error {
	background-color: #dc3545;
}

.status-running {
	background-color: #0dcaf0;
}

/* 響應式調整 */
@media (max-width: 768px) {
	.navbar-brand {
		font-size: 1rem;
	}
	
	.card {
		margin-bottom: 1rem;
	}
}

/* 自訂捲軸 */
::-webkit-scrollbar {
	width: 8px;
	height: 8px;
}

::-webkit-scrollbar-track {
	background: #f1f1f1;
}

::-webkit-scrollbar-thumb {
	background: #888;
	border-radius: 4px;
}

::-webkit-scrollbar-thumb:hover {
	background: #555;
}

