body.login {
	background: #071a2c !important;
	font-family: Vazirmatn, Tahoma, "Segoe UI", sans-serif;
	position: relative;
}

body.login::before {
	content: "";
	position: fixed;
	inset: 0;
	background:
		radial-gradient(circle at 12% 12%, rgba(11, 122, 62, 0.55), transparent 46%),
		radial-gradient(circle at 88% 82%, rgba(245, 179, 1, 0.32), transparent 44%),
		linear-gradient(140deg, #050d18 0%, #0b1f31 45%, #06281b 100%);
	z-index: -2;
}

body.login::after {
	content: "";
	position: fixed;
	inset: 0;
	background-image:
		linear-gradient(rgba(255, 255, 255, 0.04) 1px, transparent 1px),
		linear-gradient(90deg, rgba(255, 255, 255, 0.04) 1px, transparent 1px);
	background-size: 46px 46px;
	mask-image: radial-gradient(circle at 50% 40%, #000, transparent 72%);
	-webkit-mask-image: radial-gradient(circle at 50% 40%, #000, transparent 72%);
	z-index: -1;
	pointer-events: none;
}

.login h1 {
	margin-bottom: 1rem;
}

.login h1 a {
	width: 108px !important;
	height: 108px !important;
	background-size: contain !important;
	background-position: center !important;
	border-radius: 26px;
	box-shadow: 0 18px 40px -18px rgba(0, 0, 0, 0.8), 0 0 0 1px rgba(255, 255, 255, 0.14);
	transition: transform 0.35s ease;
}

.login h1 a:hover {
	transform: scale(1.04) rotate(-2deg);
}

.login #login {
	width: 400px;
	max-width: calc(100vw - 32px);
	padding: 0;
}

.login form {
	margin-top: 0 !important;
	padding: 1.7rem 1.6rem 1.5rem !important;
	background: rgba(11, 22, 38, 0.86) !important;
	backdrop-filter: blur(16px);
	-webkit-backdrop-filter: blur(16px);
	border: 1px solid rgba(255, 255, 255, 0.12) !important;
	border-radius: 20px !important;
	box-shadow: 0 30px 70px -34px rgba(0, 0, 0, 0.95) !important;
	animation: hf-login-in 0.55s cubic-bezier(0.16, 1, 0.3, 1) both;
}

@keyframes hf-login-in {
	from { opacity: 0; transform: translateY(22px) scale(0.98); }
	to { opacity: 1; transform: none; }
}

.login label {
	color: #c8d4e6 !important;
	font-size: 0.82rem !important;
	font-weight: 600;
}

.login form .input,
.login input[type="text"],
.login input[type="password"],
.login input[type="email"],
.login input[type="url"] {
	width: 100% !important;
	padding: 0.72rem 0.9rem !important;
	margin: 0.35rem 0 1rem !important;
	background: rgba(255, 255, 255, 0.07) !important;
	border: 1px solid rgba(255, 255, 255, 0.16) !important;
	border-radius: 12px !important;
	color: #fff !important;
	font-size: 0.95rem !important;
	box-shadow: none !important;
	transition: border-color 0.2s, box-shadow 0.2s, background 0.2s;
}

.login form .input:focus,
.login input[type="text"]:focus,
.login input[type="password"]:focus {
	border-color: #2fa96a !important;
	background: rgba(255, 255, 255, 0.1) !important;
	box-shadow: 0 0 0 3px rgba(15, 155, 82, 0.28) !important;
	outline: none !important;
}

.login input[type="checkbox"] {
	accent-color: #0f9b52;
	border-radius: 4px;
}

.login .forgetmenot {
	margin-bottom: 0.9rem;
}

.login .forgetmenot label {
	font-size: 0.8rem !important;
	color: #a8b6cd !important;
}

.login .button-primary,
.login input[type="submit"] {
	float: none !important;
	width: 100% !important;
	height: auto !important;
	padding: 0.78rem 1rem !important;
	border: 0 !important;
	border-radius: 12px !important;
	background: linear-gradient(135deg, #0f9b52, #0b7a3e) !important;
	color: #fff !important;
	font-size: 1rem !important;
	font-weight: 700 !important;
	text-shadow: none !important;
	box-shadow: 0 14px 30px -14px rgba(15, 155, 82, 0.9) !important;
	cursor: pointer;
	transition: transform 0.2s, box-shadow 0.2s, filter 0.2s;
}

.login .button-primary:hover,
.login input[type="submit"]:hover {
	filter: brightness(1.08);
	transform: translateY(-2px);
	box-shadow: 0 18px 36px -14px rgba(15, 155, 82, 0.95) !important;
}

.login .button-primary:active {
	transform: translateY(0);
}

.login .message,
.login #login_error,
.login .success {
	border-radius: 12px !important;
	border-inline-start-width: 4px !important;
	padding: 0.8rem 1rem !important;
	font-size: 0.84rem !important;
	line-height: 1.9 !important;
	box-shadow: none !important;
	margin: 0 0 1rem !important;
}

.login .message,
.login .success {
	background: rgba(15, 155, 82, 0.16) !important;
	border-color: #2fa96a !important;
	color: #b6f0cf !important;
}

.login #login_error {
	background: rgba(220, 38, 38, 0.18) !important;
	border-color: #ef4444 !important;
	color: #fecaca !important;
}

.login #nav,
.login #backtoblog {
	padding: 0.7rem 0.2rem !important;
	font-size: 0.82rem !important;
	text-align: center;
}

.login #nav a,
.login #backtoblog a {
	color: #b9c6db !important;
	text-decoration: none !important;
	transition: color 0.2s;
}

.login #nav a:hover,
.login #backtoblog a:hover {
	color: #f5b301 !important;
}

.login #backtoblog {
	margin-top: 0.4rem;
}

.login .language-switcher,
.login .privacy-policy-page-link {
	text-align: center;
	font-size: 0.78rem;
}

.login .language-switcher select {
	background: rgba(255, 255, 255, 0.08);
	color: #fff;
	border: 1px solid rgba(255, 255, 255, 0.18);
	border-radius: 10px;
	padding: 0.3rem 0.5rem;
}

.login .privacy-policy-page-link a {
	color: #8fa0bb !important;
}

.login .hf-login-captcha {
	display: flex;
	align-items: center;
	gap: 0.6rem;
	margin-bottom: 1rem;
	padding: 0.65rem 0.8rem;
	border-radius: 12px;
	background: rgba(245, 179, 1, 0.12);
	border: 1px solid rgba(245, 179, 1, 0.32);
}

.login .hf-login-captcha span {
	color: #ffd479;
	font-size: 0.8rem;
	flex: 1 1 auto;
}

.login .hf-login-captcha input {
	margin: 0 !important;
	width: 110px !important;
	text-align: center;
	direction: ltr;
}

@media screen and (max-width: 480px) {
	.login #login {
		width: 100%;
		padding: 0 4px;
	}

	.login form {
		padding: 1.3rem 1.1rem !important;
	}

	.login h1 a {
		width: 88px !important;
		height: 88px !important;
	}
}
