/* XLink Panel 登录页 — 工业科技风
 * 换肤：改 body.login 顶部变量即可（与后台主题色对齐）
 */

body.login {
	/* —— 主题色板 —— */
	--xp-color-accent: #00a3c4;
	--xp-color-accent-hover: #0089a6;
	--xp-color-accent-deep: #006f87;
	--xp-color-accent-soft: rgba(0, 163, 196, 0.14);
	--xp-color-accent-glow: rgba(0, 180, 210, 0.28);

	--xp-color-bg: #0c1219;
	--xp-color-bg-mid: #121a24;
	--xp-color-card: #ffffff;
	--xp-color-border: #c9d3e0;
	--xp-color-text: #101820;
	--xp-color-text-secondary: #4f5d70;
	--xp-color-text-muted: #6e7c8f;
	--xp-color-on-dark: #eef3f8;
	--xp-color-on-dark-muted: #8b9aab;

	--xp-color-danger: #dc3d4a;
	--xp-color-success: #0d9f6e;

	--xp-radius-sm: 4px;
	--xp-radius-md: 8px;
	--xp-radius-lg: 12px;
	--xp-shadow-card: 0 12px 40px rgba(0, 0, 0, 0.35);
	--xp-login-w: 380px;
}

/* 全屏工业背景 */
body.login {
	min-height: 100vh;
	margin: 0;
	background:
		radial-gradient(ellipse 80% 50% at 50% -10%, rgba(0, 163, 196, 0.18), transparent 55%),
		radial-gradient(ellipse 60% 40% at 100% 100%, rgba(0, 100, 140, 0.12), transparent 50%),
		linear-gradient(165deg, var(--xp-color-bg) 0%, var(--xp-color-bg-mid) 55%, #0a1018 100%);
	color: var(--xp-color-on-dark);
}

body.login #login {
	width: var(--xp-login-w);
	max-width: calc(100vw - 32px);
	padding: 8vh 0 40px;
	margin: 0 auto;
}

/* 品牌名：登录页主视觉 */
body.login #login h1 {
	margin: 0 auto 28px;
	text-align: center;
}

body.login #login h1 a {
	display: none !important;
}

body.login .xp-login-site-name {
	display: block;
	font-size: clamp(26px, 5vw, 32px);
	font-weight: 700;
	line-height: 1.25;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--xp-color-on-dark);
	text-shadow: 0 0 40px rgba(0, 163, 196, 0.25);
}

body.login .xp-login-tagline {
	display: block;
	margin-top: 10px;
	font-size: 13px;
	font-weight: 500;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--xp-color-accent);
	opacity: 0.9;
}

/* 表单卡片 */
body.login #loginform,
body.login #lostpasswordform,
body.login #registerform,
body.login #xp-reset-form {
	margin-top: 0;
	padding: 28px 28px 24px;
	background: var(--xp-color-card);
	border: 1px solid rgba(255, 255, 255, 0.08);
	border-radius: var(--xp-radius-lg);
	box-shadow: var(--xp-shadow-card);
	border-top: 3px solid var(--xp-color-accent);
}

body.login form .forgetmenot {
	float: none;
	margin: 0 0 18px;
}

body.login label {
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.03em;
	color: var(--xp-color-text-secondary);
}

body.login #loginform label[for="user_login"],
body.login #loginform label[for="user_pass"],
body.login #xp-reset-form label {
	display: block;
	margin-bottom: 4px;
}

body.login form .input,
body.login input[type="text"],
body.login input[type="password"],
body.login input[type="email"] {
	width: 100%;
	box-sizing: border-box;
	margin: 0 0 16px;
	padding: 10px 14px;
	min-height: 44px;
	font-size: 15px;
	line-height: 1.4;
	color: var(--xp-color-text);
	background: #f4f7fa;
	border: 1px solid var(--xp-color-border);
	border-radius: var(--xp-radius-sm);
	box-shadow: none;
	transition: border-color 0.15s ease, box-shadow 0.15s ease, background 0.15s ease;
}

body.login form .input:hover,
body.login input[type="text"]:hover,
body.login input[type="password"]:hover,
body.login input[type="email"]:hover {
	border-color: var(--xp-color-accent);
	background: #fff;
}

body.login form .input:focus,
body.login input[type="text"]:focus,
body.login input[type="password"]:focus,
body.login input[type="email"]:focus {
	border-color: var(--xp-color-accent);
	background: #fff;
	box-shadow: 0 0 0 3px var(--xp-color-accent-soft);
	outline: none;
}

body.login .forgetmenot label {
	font-size: 13px;
	font-weight: 500;
	color: var(--xp-color-text-secondary);
}

body.login input[type="checkbox"] {
	width: 16px;
	height: 16px;
	margin-right: 8px;
	vertical-align: middle;
	accent-color: var(--xp-color-accent);
}

/* 主按钮 */
body.login .submit {
	margin: 0;
	padding: 0;
}

body.login .button-primary,
body.login .wp-core-ui .button-primary {
	width: 100%;
	float: none !important;
	margin: 0;
	padding: 0 16px;
	min-height: 44px;
	font-size: 15px;
	font-weight: 600;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	text-shadow: none;
	color: #fff !important;
	background: linear-gradient(180deg, var(--xp-color-accent) 0%, var(--xp-color-accent-hover) 100%) !important;
	border: none !important;
	border-radius: var(--xp-radius-sm) !important;
	box-shadow: 0 4px 14px rgba(0, 163, 196, 0.35) !important;
	transition: background 0.15s ease, box-shadow 0.15s ease, transform 0.15s ease;
}

body.login .button-primary:hover,
body.login .button-primary:focus,
body.login .wp-core-ui .button-primary:hover,
body.login .wp-core-ui .button-primary:focus {
	background: linear-gradient(180deg, var(--xp-color-accent-hover) 0%, var(--xp-color-accent-deep) 100%) !important;
	box-shadow: 0 6px 18px rgba(0, 163, 196, 0.45) !important;
	transform: translateY(-1px);
	color: #fff !important;
}

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

/* 消息 / 错误 */
body.login #login_error,
body.login .message,
body.login .success {
	margin: 0 0 20px;
	padding: 12px 14px;
	border-radius: var(--xp-radius-sm);
	border-width: 0 0 0 3px;
	border-style: solid;
	box-shadow: var(--xp-shadow-card);
	font-size: 13px;
	line-height: 1.5;
}

body.login #login_error {
	background: #fff;
	border-left-color: var(--xp-color-danger);
	color: var(--xp-color-text);
}

body.login .message,
body.login .success {
	background: #fff;
	border-left-color: var(--xp-color-accent);
	color: var(--xp-color-text);
}

/* 底部链接 */
body.login #nav,
body.login #backtoblog {
	margin: 20px 0 0;
	padding: 0;
	text-align: center;
	font-size: 13px;
}

body.login #nav a,
body.login #backtoblog a,
body.login .xp-login-reset a {
	color: var(--xp-color-on-dark-muted);
	text-decoration: none;
	transition: color 0.15s ease;
}

body.login #nav a:hover,
body.login #backtoblog a:hover,
body.login .xp-login-reset a:hover {
	color: var(--xp-color-accent);
}

body.login #backtoblog {
	display: none;
}

body.login .xp-login-reset {
	margin: 20px 0 0;
	padding: 0;
	text-align: center;
	clear: both;
	border-top: none;
}

body.login .xp-login-reset a {
	font-size: 13px;
	color: var(--xp-color-on-dark-muted);
}

body.login .xp-login-reset a:hover {
	color: var(--xp-color-accent);
}

/* 找回密码表单在卡片内时链接色 */
body.login #xp-reset-form + #nav a,
body.login .message + p a {
	color: var(--xp-color-accent-hover);
}

body.login .message + p {
	text-align: center;
}

body.login .message + p a {
	color: var(--xp-color-on-dark-muted);
}

body.login .message + p a:hover {
	color: var(--xp-color-accent);
}

/* 语言切换 */
body.login .language-switcher {
	margin-top: 24px;
}

body.login .language-switcher label .dashicons {
	color: var(--xp-color-on-dark-muted);
}

body.login .language-switcher select {
	min-height: 36px;
	border-radius: var(--xp-radius-sm);
	border-color: rgba(255, 255, 255, 0.2);
	background: rgba(255, 255, 255, 0.06);
	color: var(--xp-color-on-dark);
}

body.login .language-switcher .button {
	min-height: 36px;
	border-radius: var(--xp-radius-sm);
	border-color: rgba(255, 255, 255, 0.2);
	background: rgba(255, 255, 255, 0.08);
	color: var(--xp-color-on-dark);
	box-shadow: none;
}

/* 隐私链接 */
body.login .privacy-policy-page-link {
	margin: 24px 0 0;
	text-align: center;
}

body.login .privacy-policy-page-link a {
	color: var(--xp-color-on-dark-muted);
	font-size: 12px;
}

/* —— Pad —— */
@media screen and (min-width: 783px) and (max-width: 1024px) {
	body.login {
		--xp-login-w: 400px;
	}

	body.login #login {
		padding-top: 12vh;
	}
}

/* —— Mobile —— */
@media screen and (max-width: 782px) {
	body.login {
		--xp-login-w: 100%;
	}

	body.login #login {
		padding: max(32px, env(safe-area-inset-top, 0px)) 16px 40px;
		width: 100%;
		max-width: 100%;
		box-sizing: border-box;
	}

	body.login .xp-login-site-name {
		letter-spacing: 0.06em;
	}

	body.login #loginform,
	body.login #lostpasswordform,
	body.login #registerform,
	body.login #xp-reset-form {
		padding: 22px 18px 20px;
		border-radius: var(--xp-radius-md);
	}

	body.login form .input,
	body.login input[type="text"],
	body.login input[type="password"],
	body.login input[type="email"] {
		font-size: 16px; /* 避免 iOS 自动放大 */
	}
}

/* 找回密码页：表单外返回链接 */
body.login #login > #nav {
	margin-top: 24px;
}
