$--mode-selector-width: 92px;

.modeSelector {
	--input--color--background: initial;
	--input--color--text: initial;
	--input--border-color: initial;
	width: $--mode-selector-width;

	input {
		border-radius: var(--radius) 0 0 var(--radius);
		border-right: none;
		overflow: hidden;

		&:focus {
			border-right: var(--border);
		}

		&:disabled {
			cursor: not-allowed !important;
		}
	}
}

.inputField {
	flex-grow: 1;
	position: relative;
}

.fromAiOverrideField {
	position: relative;

	border-top-left-radius: 0;
	border-bottom-left-radius: 0;
}

.overrideButtonInline {
	> button {
		border-top-left-radius: 0;
		border-bottom-left-radius: 0;
	}
	position: relative;
}

.rightNoCorner > * {
	--input-triple--radius--bottom-right: 0;
	--input-triple--radius--top-right: 0;
}

.resourceLocator {
	display: inline-flex;
	flex-wrap: nowrap;
	width: 100%;
	position: relative;

	--resource-locator--input-issues--width: 28px;
	--resource-locator--input-override--width: 30px;

	.inputContainer {
		display: flex;
		align-items: center;
		width: 100%;

		--input--radius--top-left: 0;
		--input--radius--bottom-left: 0;

		> div {
			width: 100%;

			> div {
				display: flex;
			}
		}
	}

	&.multipleModes {
		.inputContainer {
			display: flex;
			align-items: center;
			width: calc(100% - $--mode-selector-width);
			flex-grow: 1;
		}

		/** NOTE (@heymynameisrob): Manual override to match legacy size of Select. Will need removing when sizes are unified **/
		.inputField {
			--input--height: 30px !important;
		}

		.inputContainerInputCorners {
			input {
				border-radius: 0 var(--radius) var(--radius) 0;
			}
		}
	}
}

.droppable {
	--input--border-color: var(--color--secondary--tint-1);
	--input--border-style: dashed;
}

.activeDrop {
	--input--border-color: var(--color--success);
	--input--color--background: var(--color--success--tint-4);
	--input--border-style: solid;

	textarea,
	input {
		cursor: grabbing !important;
	}
}

.selectInput input {
	overflow: hidden;
	text-overflow: ellipsis;
}

.selectIcon {
	cursor: pointer;
	transition: transform 0.3s;
	transform: rotateZ(0);

	&.isReverse {
		transform: rotateZ(180deg);
	}
}

.listModeInputContainer {
	position: relative;
	* {
		cursor: pointer;
	}
}

.errorContainer,
.errorDetails {
	display: flex;
	gap: var(--spacing--sm);
	flex-direction: column;
}

.errorContainer {
	width: 80%;
	align-items: center;
	text-align: center;
}

.errorDetails {
	max-height: 120px;
	overflow-y: auto;
	word-break: break-word;
}

.errorDescription {
	text-align: left;
	margin: 0;
	word-break: normal;
}

.credential-link {
	font-size: var(--font-size--2xs);
}

.openResourceLink,
.parameter-issues {
	display: flex;
	width: 25px !important;
	justify-content: flex-end;
}
