.recovery-page-container {
	display: flex !important;
	justify-content: center !important;
	align-items: center !important;
	min-height: calc(100vh - 160px) !important;
	padding: 40px 15px !important;
}

.recovery-card {
	max-width: 460px !important;
	width: 100% !important;
	background: rgba(30, 41, 59, 0.7) !important;
	border: 1px solid rgba(255, 255, 255, 0.1) !important;
	border-radius: 16px !important;
	box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.5) !important;
	backdrop-filter: blur(20px) !important;
	-webkit-backdrop-filter: blur(20px) !important;
	padding: 35px 30px !important;
	color: #cbd5e1 !important;
}

.recovery-card-header {
	text-align: center !important;
	margin-bottom: 25px !important;
}

.recovery-card-header h1.pageTitle {
	border-bottom: none !important;
	color: #ffffff !important;
	font-size: 24px !important;
	font-weight: 700 !important;
	margin-top: 0 !important;
	margin-bottom: 8px !important;
	text-transform: none !important;
	text-shadow: 0 2px 4px rgba(0,0,0,0.2) !important;
}

.recovery-subtitle {
	font-size: 13.5px !important;
	color: #94a3b8 !important;
	margin: 0 !important;
	line-height: 1.5 !important;
}

.recovery-form-body {
	display: flex !important;
	flex-direction: column !important;
	gap: 18px !important;
	margin-bottom: 25px !important;
}

.recovery-card label {
	display: block !important;
	color: #cbd5e1 !important;
	font-size: 13px !important;
	font-weight: 600 !important;
	margin-bottom: 8px !important;
}

.recovery-card .input-group {
	display: flex !important;
	background: rgba(15, 23, 42, 0.4) !important;
	border: 1px solid rgba(255, 255, 255, 0.08) !important;
	border-radius: 8px !important;
	transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
	overflow: hidden !important;
	width: 100% !important;
}

.recovery-card .input-group-addon {
	background: transparent !important;
	border: none !important;
	color: #64748b !important;
	font-size: 16px !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	padding: 0 12px 0 16px !important;
	min-width: 44px !important;
	transition: color 0.3s ease !important;
}

.recovery-card .form-control {
	background: transparent !important;
	border: none !important;
	box-shadow: none !important;
	color: #ffffff !important;
	height: 44px !important;
	padding: 6px 16px 6px 0 !important;
	font-size: 14px !important;
	outline: none !important;
	width: 100% !important;
}

.recovery-card .form-control::placeholder {
	color: #64748b !important;
	opacity: 1 !important;
}

.recovery-card .input-group:focus-within {
	border-color: #a855f7 !important;
	box-shadow: 0 0 0 3px rgba(168, 85, 247, 0.15) !important;
	background: rgba(15, 23, 42, 0.6) !important;
}

.recovery-card .input-group:focus-within .input-group-addon {
	color: #c084fc !important;
}

.recovery-code-link-wrapper {
	margin-top: 8px !important;
	display: flex !important;
	flex-direction: column !important;
	gap: 2px !important;
}

.btn-recovery-code {
	color: #a855f7 !important;
	font-size: 12.5px !important;
	font-weight: 600 !important;
	text-decoration: none !important;
	transition: color 0.2s ease !important;
	display: inline-block !important;
	align-self: flex-start !important;
}

.btn-recovery-code:hover {
	color: #c084fc !important;
	text-decoration: underline !important;
}

.recovery-code-tip {
	color: #64748b !important;
	font-size: 11px !important;
}

.btn-recovery-submit {
	background: linear-gradient(135deg, #a855f7 0%, #7e22ce 100%) !important;
	border: none !important;
	border-radius: 8px !important;
	height: 46px !important;
	font-weight: 700 !important;
	font-size: 14px !important;
	letter-spacing: 0.05em !important;
	color: #ffffff !important;
	transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
	box-shadow: 0 4px 12px rgba(168, 85, 247, 0.2) !important;
	outline: none !important;
	width: 100% !important;
	text-transform: uppercase !important;
	margin-top: 10px !important;
}

.btn-recovery-submit:hover,
.btn-recovery-submit:focus,
.btn-recovery-submit:active {
	background: linear-gradient(135deg, #b55fe6 0%, #8b5cf6 100%) !important;
	box-shadow: 0 6px 20px rgba(168, 85, 247, 0.4) !important;
	transform: translateY(-1px) !important;
}

.btn-recovery-submit:active {
	transform: translateY(1px) !important;
}

.back-to-home-link {
	text-align: center !important;
	margin-top: 20px !important;
}

.back-to-home-link a {
	color: #94a3b8 !important;
	font-size: 13.5px !important;
	font-weight: 500 !important;
	text-decoration: none !important;
	transition: color 0.2s ease !important;
}

.back-to-home-link a:hover {
	color: #ffffff !important;
}

.back-to-home-link a i {
	margin-right: 6px !important;
}

.recovery-card hr {
	border-top: 1px solid rgba(255, 255, 255, 0.08) !important;
	margin-top: 25px !important;
	margin-bottom: 25px !important;
}

.recovery-card .has-error .input-group {
	border-color: #ef4444 !important;
	box-shadow: 0 0 0 3px rgba(239, 68, 68, 0.15) !important;
}

.recovery-card .has-error .input-group-addon {
	color: #ef4444 !important;
}

.recovery-card .has-success .input-group {
	border-color: #10b981 !important;
}

.recovery-card .has-success .input-group-addon {
	color: #10b981 !important;
}

.recovery-card .help-block {
	color: #f87171 !important;
	font-size: 12px !important;
	margin-top: 6px !important;
	margin-bottom: 0 !important;
}
