.n-input {
	display: block;
	width: 100%;
	min-height: var(--control-height-md);
	padding-inline: var(--space-16);
	padding-block: 0;
	border: 1px solid var(--color-border);
	border-radius: var(--radius-md);
	background-color: var(--color-surface);
	color: var(--color-text-primary);
	font: inherit;
	line-height: 1.5;
	transition:
		border-color var(--motion-duration-base) var(--motion-ease-soft),
		box-shadow var(--motion-duration-base) var(--motion-ease-soft);
}

.n-input::placeholder {
	color: var(--color-text-secondary);
}

.n-input:focus-visible {
	outline: var(--focus-ring-width) solid var(--focus-ring-color);
	outline-offset: var(--focus-ring-offset);
	box-shadow: var(--focus-ring-shadow);
}

.n-input--text,
.n-input--email {
	appearance: none;
}

.n-input--error {
	border-color: var(--color-error);
}

.n-input--success {
	border-color: var(--color-success);
}
