body {
	overflow: auto;
}

section.vh-100 {
	height: auto;
	min-height: 100vh;
}

.form-register .is-invalid {
	border-color: #dc3545;
}

.form-register .is-valid {
	border-color: #198754;
}

#RegisterBtn.shake {
	animation: shake 0.3s linear;
}

@keyframes shake {

	0%,
	100% {
		transform: translateX(0);
	}

	25% {
		transform: translateX(-4px);
	}

	75% {
		transform: translateX(4px);
	}
}

.icon-input-group .input-group-text {
	color: #ffffff;
	border: 1px solid #444;
}

.icon-input-group .form-control {
	border: 1px solid #444;
	border-left: 0;
}

.icon-input-group .form-control:focus {
	border-color: #ff4c4c;
	box-shadow: 0 0 0 .25rem rgba(255, 76, 76, .25);
}

input.form-control:focus,
textarea.form-control:focus {
	border-color: #ff4c4c;
	box-shadow: 0 0 0 .25rem rgba(255, 76, 76, .25);
}

.register-feedback {
	margin-bottom: 1rem;
	padding: 0.95rem 1rem;
	border-radius: 0.9rem;
	border: 1px solid #f1b0b7;
	background: #fff1f2;
	color: #842029;
	font-size: 0.95rem;
	line-height: 1.5;
	box-shadow: 0 8px 20px rgba(255, 76, 76, 0.08);
}

.register-feedback strong {
	display: block;
	margin-bottom: 0.2rem;
}

.password-rules {
	padding-left: 1.1rem;
	color: #6c757d;
	font-size: 0.92rem;
	line-height: 1.6;
}

.password-rules li.valid {
	color: #1e7e34;
}

.password-rules li.invalid {
	color: #b02a37;
}
