@keyframes borderDance {
	0% {
		background-position: 0px 0px, 100px 100%, 0px 100%, 100% 0px;
	}
	100% {
		background-position: 100px 0px, 0px 100%, 0px 0px, 100% 100%;
	}
}

.dropZone {
	width: 100%;
	height: 100px;
	border: 2px solid transparent;
	border-radius: var(--dev-panel-border-radius-md);
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	text-align: center;
	cursor: pointer;
	transition: var(--dev-panel-transition-normal);
	position: relative;

	&:hover {
		background-color: var(--dev-panel-surface-color-hover);
	}

	&.disabled {
		opacity: var(--dev-panel-opacity-50);
		cursor: not-allowed;
		pointer-events: none;

		&:hover {
			background-color: transparent;
		}
	}

	&::before {
		content: "";
		position: absolute;
		top: -2px;
		left: -2px;
		right: -2px;
		bottom: -2px;
		border: 2px dashed var(--dev-panel-border-color);
		border-radius: var(--dev-panel-border-radius-md);
		pointer-events: none;
	}

	&.active {
		//background-color: var(--dev-panel-surface-color-hover, #f0f8ff);

		&::before {
			border: none;
			background: linear-gradient(90deg, var(--dev-panel-accent-color) 50%, transparent 50%),
				linear-gradient(90deg, var(--dev-panel-accent-color) 50%, transparent 50%),
				linear-gradient(0deg, var(--dev-panel-accent-color) 50%, transparent 50%),
				linear-gradient(0deg, var(--dev-panel-accent-color) 50%, transparent 50%);
			background-repeat: repeat-x, repeat-x, repeat-y, repeat-y;
			background-size: 15px 2px, 15px 2px, 2px 15px, 2px 15px;
			background-position: 0px 0px, 100% 100%, 0px 100%, 100% 0px;
			animation: borderDance 2s infinite linear;
		}
	}
}

.droppedImage {
	max-width: 100%;
	max-height: 100%;
	object-fit: contain;
}

.supportedFormats {
	font-size: var(--dev-panel-font-size-sm);
	color: var(--dev-panel-text-color-muted);
	margin: var(--dev-panel-spacing-md) 0 0 0;
}

.dropText {
	margin: 0;
	color: var(--dev-panel-text-color);
}

.droppedFile {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	text-align: center;
}

.droppedText {
	margin: 0;
	color: var(--dev-panel-text-color);
	font-weight: var(--dev-panel-font-weight-medium);
	font-size: var(--dev-panel-font-size-md);
}

.errorMessage {
	padding: var(--dev-panel-spacing-md) var(--dev-panel-spacing-lg);
	border-radius: var(--dev-panel-border-radius-sm);
	color: var(--dev-panel-error-color);
	font-size: var(--dev-panel-font-size-md);
	margin: 0;

	p {
		margin: 0;
	}
}
