/* Anchor for absolute positioning */
.pwd-input-fiw .input-group {
	position: relative;
}

/* Requirements overlay — absolute, right side, vertically centered */
.pwd-overlay {
	position: absolute;
	right: 42px;
	top: 50%;
	transform: translateY(-50%);
	display: flex;
	flex-direction: column;
	gap: 1px;
	z-index: 1;
	pointer-events: none;
}

.pwd-req-item {
	display: flex;
	align-items: center;
	gap: 5px;
	font-size: 11px;
	line-height: 1.3;
	white-space: nowrap;
	transition: color 0.2s ease;
}

.pwd-req-item i {
	font-size: 9px;
	width: 10px;
	text-align: center;
}

.pwd-req-met {
	color: #079455;
}

.pwd-req-unmet {
	color: #d0d5dd;
}

/* Strength bar — bottom edge of input-group */
.pwd-strength-bar {
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	height: 3px;
	z-index: 2;
	pointer-events: none;
}

.pwd-strength-bar .pwd-strength-fill {
	height: 100%;
	border-radius: 0 0 0 3px;
	transition: width 0.3s ease, background-color 0.3s ease;
}

.pwd-strength-weak .pwd-strength-fill {
	width: 33%;
	background-color: #f04438;
}

.pwd-strength-medium .pwd-strength-fill {
	width: 66%;
	background-color: #f79009;
}

.pwd-strength-strong .pwd-strength-fill {
	width: 100%;
	background-color: #079455;
}

.pwd-strength-none .pwd-strength-fill {
	width: 0;
}
