/* Login, logout, and registration screens */
.ma-auth-shell {
	min-height: min(700px, calc(100vh - 120px));
}

.ma-auth-hero {
	display: grid;
	align-content: space-between;
}

.ma-auth-hero h2 {
	max-width: 620px;
}

.ma-auth-card {
	align-self: start;
	border-top: 5px solid var(--ma-primary);
}

.ma-register-form fieldset + fieldset {
	margin-top: 4px;
}

.ma-login-form {
	gap: 18px;
}

.ma-login-form .ma-form-actions,
.ma-register-form .ma-form-actions {
	margin-top: 6px;
	padding-top: 16px;
	border-top: 1px solid var(--ma-line);
}

.ma-auth-card .ma-button {
	min-width: 180px;
}

.ma-auth-card input[type="password"],
.ma-auth-card input[type="email"],
.ma-auth-card input[type="text"] {
	background: #fbfcfe;
}

.ma-password-control {
	position: relative;
	display: flex;
	align-items: stretch;
}

.ma-password-control input {
	flex: 1;
	min-width: 0;
	padding-right: 72px;
}

.ma-password-toggle {
	position: absolute;
	top: 50%;
	right: 10px;
	transform: translateY(-50%);
	padding: 6px 8px;
	border: 0;
	border-radius: 5px;
	background: transparent;
	color: var(--ma-primary);
	font: inherit;
	font-size: 0.875rem;
	font-weight: 700;
	cursor: pointer;
}

.ma-password-toggle:focus-visible {
	outline: 2px solid var(--ma-primary);
	outline-offset: 2px;
}

.ma-register-shell .ma-auth-card {
	padding: 24px;
}

.ma-register-shell .ma-auth-hero {
	min-height: 620px;
}

@media (max-width: 900px) {
	.ma-auth-shell {
		gap: 14px;
	}

	.ma-register-shell .ma-auth-hero {
		min-height: auto;
	}

	.ma-auth-hero {
		padding-bottom: 24px;
	}
}

@media (max-width: 640px) {
	.ma-auth-shell {
		min-height: 0;
	}

	.ma-auth-hero {
		align-content: start;
		gap: 18px;
	}

	.ma-auth-steps {
		margin-top: 8px;
	}

	.ma-auth-card .ma-button {
		width: 100%;
	}
}
