/*!
 * Copyright 2024 Adobe. All rights reserved.
 *
 * This file is licensed to you under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License. You may obtain a copy
 * of the License at <http://www.apache.org/licenses/LICENSE-2.0>
 *
 * Unless required by applicable law or agreed to in writing, software distributed under
 * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
 * OF ANY KIND, either express or implied. See the License for the specific language
 * governing permissions and limitations under the License.
 */

.spectrum-Textfield.spectrum-Textfield--quiet {
	--spectrum-textfield-border-color-disabled: var(--spectrum-gray-300);
}
.spectrum-Textfield.spectrum-Textfield--sizeXL {
	--spectrum-textfield-icon-spacing-block-invalid: var(--spectrum-component-top-to-workflow-icon-300);
}
.spectrum-Textfield.spectrum-Textfield--sizeL {
	--spectrum-textfield-icon-spacing-block-invalid: var(--spectrum-component-top-to-workflow-icon-200);
}
.spectrum-Textfield.spectrum-Textfield--sizeS {
	--spectrum-textfield-icon-spacing-block-invalid: var(--spectrum-component-top-to-workflow-icon-75);
}
.spectrum-Textfield {
	--spectrum-textfield-background-color: var(--spectrum-gray-25);
	--spectrum-textfield-background-color-disabled: var(--spectrum-gray-25);
	--spectrum-textfield-border-color: var(--spectrum-gray-500);
	--spectrum-textfield-border-color-hover: var(--spectrum-gray-600);
	--spectrum-textfield-border-color-focus: var(--spectrum-gray-800);
	--spectrum-textfield-border-color-focus-hover: var(--spectrum-gray-900);
	--spectrum-textfield-border-color-keyboard-focus: var(--spectrum-gray-800);
	--spectrum-textfield-border-color-disabled: var(--spectrum-gray-300);
	--spectrum-textfield-border-width: var(--spectrum-border-width-100);
	--spectrum-textfield-icon-spacing-block-invalid: var(--spectrum-component-top-to-workflow-icon-100);
	--spectrum-textfield-input-line-height: var(--spectrum-textfield-height);
	--spectrum-texfield-animation-duration: var(--spectrum-animation-duration-100);
	--spectrum-textfield-width: 240px;
	--spectrum-textfield-min-width: var(--spectrum-text-field-minimum-width-multiplier);
	--spectrum-textfield-corner-radius: var(--spectrum-corner-radius-100);
	--spectrum-textfield-spacing-inline-quiet: var(--spectrum-field-edge-to-text-quiet);
	--spectrum-textfield-spacing-block-start: var(--spectrum-component-top-to-text-100);
	--spectrum-textfield-spacing-block-end: var(--spectrum-component-bottom-to-text-100);
	--spectrum-textfield-spacing-block-quiet: var(--spectrum-field-edge-to-border-quiet);
	--spectrum-textfield-label-spacing-block: var(--spectrum-field-label-to-component);
	--spectrum-textfield-helptext-spacing-block: var(--spectrum-help-text-to-component);
	--spectrum-textfield-icon-spacing-inline-end-quiet-invalid: var(--spectrum-field-edge-to-alert-icon-quiet);
	--spectrum-textfield-icon-spacing-inline-end-quiet-valid: var(--spectrum-field-edge-to-validation-icon-quiet);
	--spectrum-textfield-font-family: var(--spectrum-sans-font-family-stack);
	--spectrum-textfield-font-weight: var(--spectrum-regular-font-weight);
	--spectrum-textfield-character-count-font-family: var(--spectrum-sans-font-family-stack);
	--spectrum-textfield-character-count-font-weight: var(--spectrum-regular-font-weight);
	--spectrum-textfield-character-count-spacing-inline: var(--spectrum-spacing-200);
	--spectrum-textfield-character-count-spacing-inline-side: var(--spectrum-side-label-character-count-to-field);
	--spectrum-textfield-focus-indicator-width: var(--spectrum-focus-indicator-thickness);
	--spectrum-textfield-focus-indicator-gap: var(--spectrum-focus-indicator-gap);
	--spectrum-textfield-text-color-default: var(--spectrum-neutral-content-color-default);
	--spectrum-textfield-text-color-hover: var(--spectrum-neutral-content-color-hover);
	--spectrum-textfield-text-color-focus: var(--spectrum-neutral-content-color-focus);
	--spectrum-textfield-text-color-focus-hover: var(--spectrum-neutral-content-color-focus-hover);
	--spectrum-textfield-text-color-keyboard-focus: var(--spectrum-neutral-content-color-key-focus);
	--spectrum-textfield-text-color-readonly: var(--spectrum-neutral-content-color-default);
	--spectrum-textfield-text-color-disabled: var(--spectrum-disabled-content-color);
	--spectrum-textfield-border-color-invalid-default: var(--spectrum-negative-border-color-default);
	--spectrum-textfield-border-color-invalid-hover: var(--spectrum-negative-border-color-hover);
	--spectrum-textfield-border-color-invalid-focus: var(--spectrum-negative-border-color-focus);
	--spectrum-textfield-border-color-invalid-focus-hover: var(--spectrum-negative-border-color-focus-hover);
	--spectrum-textfield-border-color-invalid-keyboard-focus: var(--spectrum-negative-border-color-key-focus);
	--spectrum-textfield-icon-color-invalid: var(--spectrum-negative-visual-color);
	--spectrum-textfield-text-color-invalid: var(--spectrum-neutral-content-color-default);
	--spectrum-textfield-text-color-valid: var(--spectrum-neutral-content-color-default);
	--spectrum-textfield-icon-color-valid: var(--spectrum-positive-visual-color);
	--spectrum-textfield-focus-indicator-color: var(--spectrum-focus-indicator-color);
	--spectrum-text-area-min-inline-size: var(--spectrum-text-area-minimum-width);
	--spectrum-text-area-min-block-size: var(--spectrum-text-area-minimum-height);
	--spectrum-textfield-height: var(--spectrum-component-height-100);
	--spectrum-textfield-label-spacing-block-quiet: var(--spectrum-field-label-to-component-quiet-medium);
	--spectrum-textfield-label-spacing-inline-side-label: var(--spectrum-spacing-200);
	--spectrum-textfield-placeholder-font-size: var(--spectrum-font-size-100);
	--spectrum-textfield-spacing-inline: var(--spectrum-component-edge-to-text-100);
	--spectrum-textfield-icon-size-invalid: var(--spectrum-workflow-icon-size-100);
	--spectrum-textfield-icon-size-valid: var(--spectrum-checkmark-icon-size-100);
	--spectrum-textfield-icon-spacing-inline-end-invalid: var(--spectrum-field-edge-to-alert-icon-medium);
	--spectrum-textfield-icon-spacing-inline-end-valid: var(--spectrum-field-edge-to-validation-icon-medium);
	--spectrum-textfield-icon-spacing-block-valid: var(--spectrum-field-top-to-validation-icon-medium);
	--spectrum-textfield-icon-spacing-inline-start-invalid: var(--spectrum-field-text-to-alert-icon-medium);
	--spectrum-textfield-icon-spacing-inline-start-valid: var(--spectrum-field-text-to-validation-icon-medium);
	--spectrum-textfield-character-count-font-size: var(--spectrum-font-size-75);
	--spectrum-textfield-character-count-spacing-block: var(--spectrum-component-bottom-to-text-75);
	--spectrum-textfield-character-count-spacing-block-quiet: var(--spectrum-character-count-to-field-quiet-medium);
	--spectrum-textfield-character-count-spacing-block-side: var(--spectrum-side-label-character-count-top-margin-medium);
	--spectrum-text-area-min-block-size-quiet: var(--spectrum-component-height-100);
}
.spectrum-Textfield--sizeS {
	--spectrum-textfield-height: var(--spectrum-component-height-75);
	--spectrum-textfield-label-spacing-block-quiet: var(--spectrum-field-label-to-component-quiet-small);
	--spectrum-textfield-label-spacing-inline-side-label: var(--spectrum-spacing-100);
	--spectrum-textfield-placeholder-font-size: var(--spectrum-font-size-75);
	--spectrum-textfield-spacing-inline: var(--spectrum-component-edge-to-text-75);
	--spectrum-textfield-icon-size-invalid: var(--spectrum-workflow-icon-size-75);
	--spectrum-textfield-icon-size-valid: var(--spectrum-checkmark-icon-size-75);
	--spectrum-textfield-icon-spacing-inline-end-invalid: var(--spectrum-field-edge-to-alert-icon-small);
	--spectrum-textfield-icon-spacing-inline-end-valid: var(--spectrum-field-edge-to-validation-icon-small);
	--spectrum-textfield-icon-spacing-block-valid: var(--spectrum-field-top-to-validation-icon-small);
	--spectrum-textfield-icon-spacing-inline-start-invalid: var(--spectrum-field-text-to-alert-icon-small);
	--spectrum-textfield-icon-spacing-inline-start-valid: var(--spectrum-field-text-to-validation-icon-small);
	--spectrum-textfield-character-count-font-size: var(--spectrum-font-size-75);
	--spectrum-textfield-character-count-spacing-block: var(--spectrum-component-bottom-to-text-75);
	--spectrum-textfield-character-count-spacing-block-quiet: var(--spectrum-character-count-to-field-quiet-small);
	--spectrum-textfield-character-count-spacing-block-side: var(--spectrum-side-label-character-count-top-margin-small);
	--spectrum-text-area-min-block-size-quiet: var(--spectrum-component-height-75);
}
.spectrum-Textfield--sizeL {
	--spectrum-textfield-height: var(--spectrum-component-height-200);
	--spectrum-textfield-label-spacing-block-quiet: var(--spectrum-field-label-to-component-quiet-large);
	--spectrum-textfield-label-spacing-inline-side-label: var(--spectrum-spacing-200);
	--spectrum-textfield-placeholder-font-size: var(--spectrum-font-size-200);
	--spectrum-textfield-spacing-inline: var(--spectrum-component-edge-to-text-200);
	--spectrum-textfield-icon-size-invalid: var(--spectrum-workflow-icon-size-200);
	--spectrum-textfield-icon-size-valid: var(--spectrum-checkmark-icon-size-200);
	--spectrum-textfield-icon-spacing-inline-end-invalid: var(--spectrum-field-edge-to-alert-icon-large);
	--spectrum-textfield-icon-spacing-inline-end-valid: var(--spectrum-field-edge-to-validation-icon-large);
	--spectrum-textfield-icon-spacing-block-valid: var(--spectrum-field-top-to-validation-icon-large);
	--spectrum-textfield-icon-spacing-inline-start-invalid: var(--spectrum-field-text-to-alert-icon-large);
	--spectrum-textfield-icon-spacing-inline-start-valid: var(--spectrum-field-text-to-validation-icon-large);
	--spectrum-textfield-character-count-font-size: var(--spectrum-font-size-100);
	--spectrum-textfield-character-count-spacing-block: var(--spectrum-component-bottom-to-text-100);
	--spectrum-textfield-character-count-spacing-block-quiet: var(--spectrum-character-count-to-field-quiet-large);
	--spectrum-textfield-character-count-spacing-block-side: var(--spectrum-side-label-character-count-top-margin-large);
	--spectrum-text-area-min-block-size-quiet: var(--spectrum-component-height-200);
}
.spectrum-Textfield--sizeXL {
	--spectrum-textfield-height: var(--spectrum-component-height-300);
	--spectrum-textfield-label-spacing-block-quiet: var(--spectrum-field-label-to-component-quiet-extra-large);
	--spectrum-textfield-label-spacing-inline-side-label: var(--spectrum-spacing-200);
	--spectrum-textfield-placeholder-font-size: var(--spectrum-font-size-300);
	--spectrum-textfield-spacing-inline: var(--spectrum-component-edge-to-text-200);
	--spectrum-textfield-icon-size-invalid: var(--spectrum-workflow-icon-size-300);
	--spectrum-textfield-icon-size-valid: var(--spectrum-checkmark-icon-size-300);
	--spectrum-textfield-icon-spacing-inline-end-invalid: var(--spectrum-field-edge-to-alert-icon-extra-large);
	--spectrum-textfield-icon-spacing-inline-end-valid: var(--spectrum-field-edge-to-validation-icon-extra-large);
	--spectrum-textfield-icon-spacing-block-valid: var(--spectrum-field-top-to-validation-icon-extra-large);
	--spectrum-textfield-icon-spacing-inline-start-invalid: var(--spectrum-field-text-to-alert-icon-extra-large);
	--spectrum-textfield-icon-spacing-inline-start-valid: var(--spectrum-field-text-to-validation-icon-extra-large);
	--spectrum-textfield-character-count-font-size: var(--spectrum-font-size-200);
	--spectrum-textfield-character-count-spacing-block: var(--spectrum-component-bottom-to-text-200);
	--spectrum-textfield-character-count-spacing-block-quiet: var(--spectrum-character-count-to-field-quiet-extra-large);
	--spectrum-textfield-character-count-spacing-block-side: var(--spectrum-side-label-character-count-top-margin-extra-large);
	--spectrum-text-area-min-block-size-quiet: var(--spectrum-component-height-300);
}
.spectrum-Textfield {
	position: relative;
	text-overflow: ellipsis;
	inline-size: var(--mod-textfield-width, var(--spectrum-textfield-width));
	display: inline-grid;
	grid-template-columns: auto auto;
	grid-template-rows: auto auto auto;
	overflow: visible;
	margin: 0;
}
.spectrum-Textfield.is-invalid .spectrum-Textfield-validationIcon,
.spectrum-Textfield.is-valid .spectrum-Textfield-validationIcon {
	position: absolute;
	pointer-events: all;
	inset-block-start: 0;
	margin-inline-start: auto;
	grid-row: 2;
	grid-column: 2;
}
.spectrum-Textfield.spectrum-Textfield--sideLabel .spectrum-Textfield-validationIcon {
	grid-row: 1 / span 1;
	grid-column: 2 / span 1;
}
.spectrum-Textfield.is-valid .spectrum-Textfield-validationIcon {
	inset-block-start: var(--mod-textfield-icon-spacing-block-valid, var(--spectrum-textfield-icon-spacing-block-valid));
	inset-block-end: var(--mod-textfield-icon-spacing-block-valid, var(--spectrum-textfield-icon-spacing-block-valid));
	inset-inline-end: var(--mod-textfield-icon-spacing-inline-end-valid, var(--spectrum-textfield-icon-spacing-inline-end-valid));
	color: var(--mod-textfield-icon-color-valid, var(--spectrum-textfield-icon-color-valid));
}
.spectrum-Textfield.is-invalid .spectrum-Textfield-validationIcon {
	block-size: var(--mod-textfield-icon-size-invalid, var(--spectrum-textfield-icon-size-invalid));
	inline-size: var(--mod-textfield-icon-size-invalid, var(--spectrum-textfield-icon-size-invalid));
	inset-block-start: var(--mod-textfield-icon-spacing-block-invalid, var(--spectrum-textfield-icon-spacing-block-invalid));
	inset-block-end: var(--mod-textfield-icon-spacing-block-invalid, var(--spectrum-textfield-icon-spacing-block-invalid));
	inset-inline-end: var(--mod-textfield-icon-spacing-inline-end-invalid, var(--spectrum-textfield-icon-spacing-inline-end-invalid));
	color: var(--mod-textfield-icon-color-invalid, var(--spectrum-textfield-icon-color-invalid));
}
.spectrum-Textfield.is-disabled .spectrum-Textfield-validationIcon,
.spectrum-Textfield.is-readOnly .spectrum-Textfield-validationIcon {
	color: transparent;
}
.spectrum-Textfield--quiet .spectrum-Textfield-validationIcon {
	padding-inline-end: 0;
}
.spectrum-Textfield--quiet.is-valid .spectrum-Textfield-validationIcon {
	inset-inline-end: var(--mod-textfield-icon-spacing-inline-end-quiet-valid, var(--spectrum-textfield-icon-spacing-inline-end-quiet-valid));
}
.spectrum-Textfield--quiet.is-invalid .spectrum-Textfield-validationIcon {
	inset-inline-end: var(--mod-textfield-icon-spacing-inline-end-quiet-invalid, var(--spectrum-textfield-icon-spacing-inline-end-quiet-invalid));
}
.spectrum-Textfield .spectrum-FieldLabel {
	margin-block-end: var(--mod-textfield-label-spacing-block, var(--spectrum-textfield-label-spacing-block));
	grid-row: 1;
	grid-column: 1 / span 1;
}
.spectrum-Textfield--quiet .spectrum-FieldLabel {
	margin-block-end: var(--mod-textfield-label-spacing-block-quiet, var(--spectrum-textfield-label-spacing-block-quiet));
}
.spectrum-Textfield.is-disabled .spectrum-FieldLabel {
	color: var(--spectrum-textfield-text-color-disabled);
}
.spectrum-Textfield .spectrum-HelpText {
	margin-block-start: var(--mod-textfield-helptext-spacing-block, var(--spectrum-textfield-helptext-spacing-block));
	grid-row: 3;
	grid-column: 1 / span 2;
}
.spectrum-Textfield-characterCount {
	display: inline-flex;
	align-items: flex-end;
	justify-content: flex-end;
	inline-size: auto;
	margin-block-end: var(--mod-textfield-character-count-spacing-block, var(--spectrum-textfield-character-count-spacing-block));
	margin-inline-start: var(--mod-textfield-character-count-spacing-inline, var(--spectrum-textfield-character-count-spacing-inline));
	margin-inline-end: 0;
	font-size: var(--mod-textfield-character-count-font-size, var(--spectrum-textfield-character-count-font-size));
	font-family: var(--mod-textfield-character-count-font-family, var(--spectrum-textfield-character-count-font-family));
	font-weight: var(--mod-textfield-character-count-font-weight, var(--spectrum-textfield-character-count-font-weight));
	grid-row: 1;
	grid-column: 2 / span 1;
	padding-inline-end: calc(var(--mod-textfield-corner-radius, var(--spectrum-textfield-corner-radius)) / 2);
}
.spectrum-Textfield--quiet .spectrum-Textfield-characterCount {
	margin-block-end: var(--mod-textfield-character-count-spacing-block-quiet, var(--spectrum-textfield-character-count-spacing-block-quiet));
}
.spectrum-Textfield-input {
	line-height: var(--spectrum-textfield-input-line-height);
	box-sizing: border-box;
	inline-size: 100%;
	min-inline-size: var(--mod-textfield-min-width, var(--spectrum-textfield-min-width));
	block-size: var(--mod-textfield-height, var(--spectrum-textfield-height));
	padding-block-start: calc(var(--mod-textfield-spacing-block-start, var(--spectrum-textfield-spacing-block-start)) - var(--mod-textfield-border-width, var(--spectrum-textfield-border-width)));
	padding-block-end: calc(var(--mod-textfield-spacing-block-end, var(--spectrum-textfield-spacing-block-end)) - var(--mod-textfield-border-width, var(--spectrum-textfield-border-width)));
	padding-inline: calc(var(--mod-textfield-spacing-inline, var(--spectrum-textfield-spacing-inline)) - var(--mod-textfield-border-width, var(--spectrum-textfield-border-width)));
	vertical-align: top;
	outline: none;
	background-color: var(--mod-textfield-background-color, var(--spectrum-textfield-background-color));
	border-width: var(--mod-textfield-border-width, var(--spectrum-textfield-border-width));
	border-style: solid;
	border-color: var(--highcontrast-textfield-border-color, var(--mod-textfield-border-color, var(--spectrum-textfield-border-color)));
	border-radius: var(--mod-textfield-corner-radius, var(--spectrum-textfield-corner-radius));
	transition: border-color var(--mod-texfield-animation-duration, var(--spectrum-texfield-animation-duration)) ease-in-out;
	font-size: var(--mod-textfield-placeholder-font-size, var(--spectrum-textfield-placeholder-font-size));
	font-family: var(--mod-textfield-font-family, var(--spectrum-textfield-font-family));
	font-weight: var(--mod-textfield-font-weight, var(--spectrum-textfield-font-weight));
	color: var(--highcontrast-textfield-text-color-default, var(--mod-textfield-text-color-default, var(--spectrum-textfield-text-color-default)));
	text-overflow: ellipsis;
	grid-row: 2;
	grid-column: 1 / span 2;
	margin: 0;
	appearance: none;
}
.spectrum-Textfield-input[type="number"] {
	/* stylelint-disable-next-line property-no-vendor-prefix -- Removes the native spin buttons in Firefox. */
	-moz-appearance: textfield;
}
.spectrum-Textfield-input[type="number"]::-webkit-inner-spin-button,
.spectrum-Textfield-input[type="number"]::-webkit-outer-spin-button {
	/* stylelint-disable-next-line property-no-vendor-prefix -- Remove the native spin buttons in webkit-based browsers. */
	-webkit-appearance: none;
	margin: 0;
}
.spectrum-Textfield-input:-moz-ui-invalid {
	box-shadow: none;
}
.spectrum-Textfield-input::placeholder {
	opacity: 1;
	font-size: var(--mod-textfield-placeholder-font-size, var(--spectrum-textfield-placeholder-font-size));
	font-family: var(--mod-textfield-font-family, var(--spectrum-textfield-font-family));
	font-weight: var(--mod-textfield-font-weight, var(--spectrum-textfield-font-weight));
	color: var(--highcontrast-textfield-text-color-default, var(--mod-textfield-text-color-default, var(--spectrum-textfield-text-color-default)));
	transition: color var(--mod-texfield-animation-duration, var(--spectrum-texfield-animation-duration)) ease-in-out;
}
.spectrum-Textfield-input:lang(ja)::placeholder,
.spectrum-Textfield-input:lang(ko)::placeholder,
.spectrum-Textfield-input:lang(zh)::placeholder {
	font-style: normal;
}
.is-focused .spectrum-Textfield-input,
.spectrum-Textfield-input:focus {
	border-color: var(--highcontrast-textfield-border-color-focus, var(--mod-textfield-border-color-focus, var(--spectrum-textfield-border-color-focus)));
}
.is-focused .spectrum-Textfield-input,
.is-focused .spectrum-Textfield-input::placeholder,
.spectrum-Textfield-input:focus,
.spectrum-Textfield-input:focus::placeholder {
	color: var(--mod-textfield-text-color-focus, var(--spectrum-textfield-text-color-focus));
}
.is-keyboardFocused .spectrum-Textfield-input {
	border-color: var(--highcontrast-textfield-border-color-keyboard-focus, var(--mod-textfield-border-color-keyboard-focus, var(--spectrum-textfield-border-color-keyboard-focus)));
	outline: var(--mod-textfield-focus-indicator-width, var(--spectrum-textfield-focus-indicator-width)) solid;
	outline-color: var(--highcontrast-textfield-focus-indicator-color, var(--mod-textfield-focus-indicator-color, var(--spectrum-textfield-focus-indicator-color)));
	outline-offset: var(--mod-textfield-focus-indicator-gap, var(--spectrum-textfield-focus-indicator-gap));
}
.is-keyboardFocused .spectrum-Textfield-input,
.is-keyboardFocused .spectrum-Textfield-input::placeholder {
	color: var(--highcontrast-textfield-text-color-keyboard-focus, var(--mod-textfield-text-color-keyboard-focus, var(--spectrum-textfield-text-color-keyboard-focus)));
}
.is-valid .spectrum-Textfield-input {
	padding-inline-end: calc(var(--mod-textfield-icon-spacing-inline-start-valid, var(--spectrum-textfield-icon-spacing-inline-start-valid)) + var(--mod-textfield-icon-size-valid, var(--spectrum-textfield-icon-size-valid)) + var(--mod-textfield-icon-spacing-inline-end-valid, var(--spectrum-textfield-icon-spacing-inline-end-valid)) - var(--mod-textfield-border-width, var(--spectrum-textfield-border-width)));
	color: var(--highcontrast-textfield-text-color-valid, var(--mod-textfield-text-color-valid, var(--spectrum-textfield-text-color-valid)));
}
.is-invalid .spectrum-Textfield-input {
	padding-inline-end: calc(var(--mod-textfield-icon-spacing-inline-start-invalid, var(--spectrum-textfield-icon-spacing-inline-start-invalid)) + var(--mod-textfield-icon-size-invalid, var(--spectrum-textfield-icon-size-invalid)) + var(--mod-textfield-icon-spacing-inline-end-invalid, var(--spectrum-textfield-icon-spacing-inline-end-invalid)) - var(--mod-textfield-border-width, var(--spectrum-textfield-border-width)));
	color: var(--highcontrast-textfield-text-color-invalid, var(--mod-textfield-text-color-invalid, var(--spectrum-textfield-text-color-invalid)));
	border-color: var(--highcontrast-textfield-border-color-invalid-default, var(--mod-textfield-border-color-invalid-default, var(--spectrum-textfield-border-color-invalid-default)));
}
.is-invalid .spectrum-Textfield-input:focus,
.is-invalid.is-focused .spectrum-Textfield-input,
.is-invalid:focus .spectrum-Textfield-input {
	border-color: var(--highcontrast-textfield-border-color-invalid-focus, var(--mod-textfield-border-color-invalid-focus, var(--spectrum-textfield-border-color-invalid-focus)));
}
.is-invalid .spectrum-Textfield-input:focus-visible,
.is-invalid.is-keyboardFocused .spectrum-Textfield-input {
	border-color: var(--highcontrast-textfield-border-color-invalid-keyboard-focus, var(--mod-textfield-border-color-invalid-keyboard-focus, var(--spectrum-textfield-border-color-invalid-keyboard-focus)));
}
.spectrum-Textfield-input:disabled,
.spectrum-Textfield.is-disabled .spectrum-Textfield-input {
	background-color: var(--mod-textfield-background-color-disabled, var(--spectrum-textfield-background-color-disabled));
	border-color: var(--mod-textfield-border-color-disabled, var(--spectrum-textfield-border-color-disabled));
	resize: none;
	opacity: 1;
}
.spectrum-Textfield-input:disabled,
.spectrum-Textfield-input:disabled::placeholder,
.spectrum-Textfield.is-disabled .spectrum-Textfield-input,
.spectrum-Textfield.is-disabled .spectrum-Textfield-input::placeholder {
	color: var(--highcontrast-textfield-text-color-disabled, var(--mod-textfield-text-color-disabled, var(--spectrum-textfield-text-color-disabled)));
}
.spectrum-Textfield--quiet .spectrum-Textfield-input {
	outline: none;
	border-block-start-width: 0;
	border-inline-width: 0;
	margin-block-end: var(--mod-textfield-spacing-block-quiet, var(--spectrum-textfield-spacing-block-quiet));
	padding-block-start: var(--mod-textfield-spacing-block-start, var(--spectrum-textfield-spacing-block-start));
	padding-inline: var(--mod-textfield-spacing-inline-quiet, var(--spectrum-textfield-spacing-inline-quiet));
	background-color: initial;
	border-radius: 0;
	resize: none;
	overflow-y: hidden;
}
.spectrum-Textfield--quiet.is-disabled .spectrum-Textfield-input,
.spectrum-Textfield-input:disabled {
	background-color: initial;
	border-color: var(--mod-textfield-border-color-disabled, var(--spectrum-textfield-border-color-disabled));
}
.spectrum-Textfield--quiet.is-disabled .spectrum-Textfield-input,
.spectrum-Textfield--quiet.is-disabled .spectrum-Textfield-input::placeholder,
.spectrum-Textfield-input:disabled,
.spectrum-Textfield-input:disabled::placeholder {
	color: var(--highcontrast-textfield-text-color-disabled, var(--mod-textfield-text-color-disabled, var(--spectrum-textfield-text-color-disabled)));
}
.spectrum-Textfield-input:read-only,
.spectrum-Textfield.is-readOnly .spectrum-Textfield-input {
	background-color: initial;
	border-color: transparent;
	color: var(--highcontrast-textfield-text-color-readonly, var(--mod-textfield-text-color-readonly, var(--spectrum-textfield-text-color-readonly)));
	outline: none;
}
.spectrum-Textfield-input:read-only::placeholder,
.spectrum-Textfield.is-readOnly .spectrum-Textfield-input::placeholder {
	color: var(--highcontrast-textfield-text-color-readonly, var(--mod-textfield-text-color-readonly, var(--spectrum-textfield-text-color-readonly)));
	background-color: initial;
}
@media (hover: hover) {
	.spectrum-Textfield-input:hover,
	.spectrum-Textfield:hover .spectrum-Textfield-input {
		border-color: var(--highcontrast-textfield-border-color-hover, var(--mod-textfield-border-color-hover, var(--spectrum-textfield-border-color-hover)));
	}
	.spectrum-Textfield-input:hover,
	.spectrum-Textfield-input:hover::placeholder,
	.spectrum-Textfield:hover .spectrum-Textfield-input,
	.spectrum-Textfield:hover .spectrum-Textfield-input::placeholder {
		color: var(--highcontrast-textfield-text-color-hover, var(--mod-textfield-text-color-hover, var(--spectrum-textfield-text-color-hover)));
	}
	.is-focused .spectrum-Textfield-input:hover,
	.spectrum-Textfield-input:focus:hover {
		border-color: var(--mod-textfield-border-color-focus-hover, var(--spectrum-textfield-border-color-focus-hover));
	}
	.is-focused .spectrum-Textfield-input:hover,
	.is-focused .spectrum-Textfield-input:hover::placeholder,
	.spectrum-Textfield-input:focus:hover,
	.spectrum-Textfield-input:focus:hover::placeholder {
		color: var(--mod-textfield-text-color-focus-hover, var(--spectrum-textfield-text-color-focus-hover));
	}
	.is-invalid .spectrum-Textfield-input:hover:not(.is-disabled),
	.is-invalid:hover:not(.is-disabled) .spectrum-Textfield-input {
		border-color: var(--highcontrast-textfield-border-color-invalid-hover, var(--mod-textfield-border-color-invalid-hover, var(--spectrum-textfield-border-color-invalid-hover)));
	}
	.is-invalid .spectrum-Textfield-input:focus:hover,
	.is-invalid.is-focused .spectrum-Textfield-input:hover,
	.is-invalid:focus .spectrum-Textfield-input:hover {
		border-color: var(--mod-textfield-border-color-invalid-focus-hover, var(--spectrum-textfield-border-color-invalid-focus-hover));
	}
	.spectrum-Textfield.is-disabled:hover .spectrum-Textfield-input {
		background-color: var(--mod-textfield-background-color-disabled, var(--spectrum-textfield-background-color-disabled));
		border-color: var(--mod-textfield-border-color-disabled, var(--spectrum-textfield-border-color-disabled));
		resize: none;
		opacity: 1;
	}
	.spectrum-Textfield--quiet.is-disabled:hover .spectrum-Textfield-input,
	.spectrum-Textfield.is-disabled:hover .spectrum-Textfield-input,
	.spectrum-Textfield.is-disabled:hover .spectrum-Textfield-input::placeholder {
		color: var(--highcontrast-textfield-text-color-disabled, var(--mod-textfield-text-color-disabled, var(--spectrum-textfield-text-color-disabled)));
	}
	.spectrum-Textfield--quiet.is-disabled:hover .spectrum-Textfield-input {
		background-color: initial;
		border-color: var(--mod-textfield-border-color-disabled, var(--spectrum-textfield-border-color-disabled));
	}
	.spectrum-Textfield--quiet.is-disabled:hover .spectrum-Textfield-input::placeholder {
		color: var(--highcontrast-textfield-text-color-disabled, var(--mod-textfield-text-color-disabled, var(--spectrum-textfield-text-color-disabled)));
	}
	.spectrum-Textfield.is-readOnly:hover .spectrum-Textfield-input {
		border-color: transparent;
		outline: none;
	}
	.spectrum-Textfield.is-readOnly:hover .spectrum-Textfield-input,
	.spectrum-Textfield.is-readOnly:hover .spectrum-Textfield-input::placeholder {
		background-color: initial;
		color: var(--highcontrast-textfield-text-color-readonly, var(--mod-textfield-text-color-readonly, var(--spectrum-textfield-text-color-readonly)));
	}
}
.spectrum-Textfield--sideLabel {
	grid-template-columns: auto auto auto;
	grid-template-rows: auto auto;
}
.spectrum-Textfield--sideLabel:after {
	grid-row: 1 / span 1;
	grid-column: 2 / span 1;
}
.spectrum-Textfield--sideLabel .spectrum-FieldLabel {
	margin-inline-end: var(--mod-textfield-label-spacing-inline-side-label, var(--spectrum-textfield-label-spacing-inline-side-label));
	grid-row: 1 / span 2;
	grid-column: 1 / span 1;
}
.spectrum-Textfield--sideLabel .spectrum-Textfield-characterCount {
	align-items: flex-start;
	margin-block-start: var(--mod-textfield-character-count-spacing-block-side, var(--spectrum-textfield-character-count-spacing-block-side));
	margin-inline-start: var(--mod-textfield-character-count-spacing-inline-side, var(--spectrum-textfield-character-count-spacing-inline-side));
	grid-row: 1;
	grid-column: 3 / span 1;
}
.spectrum-Textfield--sideLabel .spectrum-HelpText {
	grid-row: 2;
	grid-column: 2 / span 1;
}
.spectrum-Textfield--sideLabel .spectrum-Textfield-input,
.spectrum-Textfield--sideLabel .spectrum-Textfield-validationIcon {
	grid-row: 1 / span 1;
	grid-column: 2 / span 1;
}
.spectrum-Textfield--multiline {
	--spectrum-textfield-input-line-height: normal;
}
.spectrum-Textfield--multiline .spectrum-Textfield-input {
	min-inline-size: var(--mod-text-area-min-inline-size, var(--spectrum-text-area-min-inline-size));
	min-block-size: var(--mod-text-area-min-block-size, var(--spectrum-text-area-min-block-size));
	resize: inherit;
}
.spectrum-Textfield--multiline.spectrum-Textfield--grows .spectrum-Textfield-input {
	grid-row: 2 / auto;
}
.spectrum-Textfield--multiline.spectrum-Textfield--grows.spectrum-Textfield--sideLabel .spectrum-Textfield-input {
	grid-row: 1 / auto;
}
.spectrum-Textfield--multiline.spectrum-Textfield--quiet .spectrum-Textfield-input {
	min-block-size: var(--mod-text-area-min-block-size-quiet, var(--spectrum-text-area-min-block-size-quiet));
	resize: none;
	overflow-y: hidden;
}
.spectrum-Textfield--quiet:after {
	content: "";
	pointer-events: none;
	position: absolute;
	inset-block-end: calc((var(--mod-textfield-focus-indicator-gap, var(--spectrum-textfield-focus-indicator-gap)) + var(--mod-textfield-focus-indicator-width, var(--spectrum-textfield-focus-indicator-width))) * -1);
	inset-inline-start: 0;
	inline-size: 100%;
	block-size: var(--mod-textfield-focus-indicator-width, var(--spectrum-textfield-focus-indicator-width));
}
.spectrum-Textfield--quiet.is-keyboardFocused:after {
	background-color: var(--highcontrast-textfield-focus-indicator-color, var(--mod-textfield-focus-indicator-color, var(--spectrum-textfield-focus-indicator-color)));
}
.spectrum-Textfield--quiet.is-invalid .spectrum-Textfield-input {
	padding-inline-end: calc(var(--mod-textfield-icon-spacing-inline-start-invalid, var(--spectrum-textfield-icon-spacing-inline-start-invalid)) + var(--mod-textfield-icon-size-invalid, var(--spectrum-textfield-icon-size-invalid)));
}
.spectrum-Textfield--quiet.is-valid .spectrum-Textfield-input {
	padding-inline-end: calc(var(--mod-textfield-icon-spacing-inline-start-valid, var(--spectrum-textfield-icon-spacing-inline-start-valid)) + var(--mod-textfield-icon-size-valid, var(--spectrum-textfield-icon-size-valid)));
}
@media (forced-colors: active) {
	.spectrum-Textfield {
		--highcontrast-textfield-border-color: CanvasText;
		--highcontrast-textfield-border-color-hover: Highlight;
		--highcontrast-textfield-border-color-focus: Highlight;
		--highcontrast-textfield-border-color-keyboard-focus: CanvasText;
		--highcontrast-textfield-focus-indicator-color: Highlight;
		--highcontrast-textfield-border-color-invalid-default: Highlight;
		--highcontrast-textfield-border-color-invalid-hover: Highlight;
		--highcontrast-textfield-border-color-invalid-focus: Highlight;
		--highcontrast-textfield-border-color-invalid-keyboard-focus: Highlight;
		--highcontrast-textfield-text-color-valid: CanvasText;
		--highcontrast-textfield-text-color-invalid: CanvasText;
	}
	.spectrum-Textfield .spectrum-Textfield-input {
		--highcontrast-textfield-text-color-default: CanvasText;
		--highcontrast-textfield-text-color-hover: CanvasText;
		--highcontrast-textfield-text-color-keyboard-focus: CanvasText;
		--highcontrast-textfield-text-color-disabled: GrayText;
		--highcontrast-textfield-text-color-readonly: CanvasText;
	}
	.spectrum-Textfield .spectrum-Textfield-input::placeholder {
		--highcontrast-textfield-text-color-default: GrayText;
		--highcontrast-textfield-text-color-hover: GrayText;
		--highcontrast-textfield-text-color-keyboard-focus: GrayText;
		--highcontrast-textfield-text-color-disabled: GrayText;
		--highcontrast-textfield-text-color-readonly: CanvasText;
	}
}
