.root {
	display: flex;
	align-items: center;
	justify-content: center;
	flex: 1;
	padding: 40px;
}

.content {
	width: 100%;
	max-width: 560px;
}

.dropZone {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 12px;
	padding: 48px 32px;
	border: 2px dashed variables.$border-default;
	border-radius: variables.$radius-lg;
	background: variables.$bg-surface;
	cursor: pointer;
	transition: all 0.2s ease;
	text-align: center;

	&:hover {
		border-color: variables.$color-primary;
		background: variables.$bg-hover;
	}
}

.dropZoneActive {
	border-color: variables.$color-primary;
	background: color-mix(in srgb, variables.$color-primary 10%, variables.$bg-surface);
}

.dropZoneUploading {
	cursor: default;
	pointer-events: none;
}

.fileInput {
	display: none;
}

.icon {
	color: variables.$text-tertiary;
	margin-bottom: 4px;
}

.title {
	@include typography.font-body-16(600);
	color: variables.$text-primary;
}

.subtitle {
	@include typography.font-body-14(400);
	color: variables.$text-secondary;
}

.progressTrack {
	width: 100%;
	max-width: 300px;
	height: 6px;
	border-radius: 3px;
	background: variables.$border-subtle;
	overflow: hidden;
	margin-top: 8px;
}

.progressBar {
	height: 100%;
	background: variables.$color-primary;
	border-radius: 3px;
	transition: width 0.2s ease;
}

.progressLabel {
	@include typography.font-body-14(500);
	color: variables.$text-secondary;
	font-variant-numeric: tabular-nums;
}

.error {
	@include typography.font-body-14(500);
	color: variables.$color-danger;
	margin-top: 8px;
}
