/**
 * Try3D Admin Upload Progress Bar & Metrics
 * 
 * @package Try3D
 */

.try3d-upload-progress {
	flex-basis: 100%;
	margin-top: 12px;
	padding: 14px 16px;
	border-radius: var(--try3d-admin-radius-md, 10px);
	background: var(--try3d-admin-primary-light, #f0f6fc);
	border: 1px solid var(--try3d-admin-primary-border, #c5d8ea);
	direction: ltr;
	text-align: left;
	box-sizing: border-box;
	max-width: 100%;
	min-width: 0;
}

.try3d-upload-progress[hidden] {
	display: none !important;
}

.try3d-upload-bar {
	width: 100%;
	height: 8px;
	background: #d4e3f2;
	border-radius: var(--try3d-admin-radius-pill, 9999px);
	overflow: hidden;
	margin-bottom: 10px;
}

.try3d-upload-fill {
	height: 100%;
	background: var(--try3d-admin-primary, #2271b1);
	border-radius: var(--try3d-admin-radius-pill, 9999px);
	width: 0%;
	transition: width 0.15s ease-out;
}

.try3d-upload-fill.is-processing {
	background: linear-gradient(90deg, #2271b1 0%, #72aee6 50%, #2271b1 100%);
	background-size: 200% 100%;
	animation: try3dShimmer 1.5s infinite linear;
}

@keyframes try3dShimmer {
	0% { background-position: 200% 0; }
	100% { background-position: -200% 0; }
}

.try3d-upload-meta {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-start;
	align-items: center;
	gap: 6px 14px;
	font-size: 12px;
	color: #50575e;
	direction: ltr;
	text-align: left;
}

.try3d-upload-status {
	flex: 1 1 160px;
	min-width: 0;
	font-weight: 500;
}

.try3d-upload-numbers {
	display: flex;
	align-items: center;
	gap: 10px;
	direction: ltr;
	margin-left: auto;
	white-space: nowrap;
}

.try3d-upload-percent {
	font-weight: 700;
	color: var(--try3d-admin-primary-hover, #135e96);
}

.try3d-upload-bytes {
	color: var(--try3d-admin-text-subtle, #646970);
}
