* {margin: 0; padding: 0; box-sizing: border-box;}
body {
	font-family: "Arial", "Helvetica", sans-serif;
	font-size: 12px;
	line-height: 27px;
	color: #999999;
	width: 100%;
	min-height: 100vh;
	display: flex;
	flex-direction: column;
	background: #fff url(../images/bg.jpg) center 0 no-repeat fixed;
	background-size: cover;
}
a {text-decoration: none; cursor: pointer;}
a:link, a:visited {color: #999999;}
a:hover, a:active {color: #A40001;}

/* 页面主体区域 */
.page-main {
	flex: 1;
	display: flex;
	flex-direction: column;
	min-height: calc(100vh - 78px);
}

/* 顶部导航? */
.top-nav {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	height: 50px;
	padding-right: 20px;
	background: transparent;
}
.top-nav a {margin: 0 10px;}
.top-nav img.tb {
	width: 15px;
	height: 15px;
	vertical-align: middle;
	margin: -3px 5px 0 25px;
}

/* 弹窗?? */
.modal-overlay {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgba(0, 0, 0, 0.5);
	z-index: 10000;
	display: none;
	cursor: pointer;
}
.modal-overlay-content {
	display: flex;
	width: 100%;
	height: 100%;
	align-items: center;
	justify-content: center;
}

/* 登录表单容器 */
.login-container {
	flex: 1;
	display: flex;
	align-items: center;
	justify-content: center;
}
.login-box {
	width: 350px;
	background: rgba(0, 0, 0, 0.4);
	border-radius: 15px;
}
.login-box .logo {
	height: 164px;
	display: flex;
	align-items: center;
	padding-left: 43.5px;
}
.login-box form {
	display: flex;
	flex-direction: column;
	align-items: center;
}
.login-box .company-name {
	height: 28px;
	display: flex;
	align-items: center;
	padding-left: 43.5px;
	color: #FFFFFF;
	font-size: 13px;
	letter-spacing: 1px;
}
.login-box .version {
	height: 28px;
	display: flex;
	align-items: center;
	padding-left: 43.5px;
	color: #A40001;
	font-size: 11px;
}
.login-box .spacer-top {
	height: 28px;
}
.login-box .spacer-bottom {
	height: 28px;
}

/* 表单输入? */
input {
	width: 263px;
	height: 38px;
	text-align: center;
	border: none;
	padding: 0;
	font-size: 14px;
	background: rgba(0, 0, 0, 0.5);
}
input::placeholder {color: #4d4d4d;}
/* 覆盖浏?器?动填充的背景色（排除提交按钮? */
input:not([type="submit"]):-webkit-autofill,
input:not([type="submit"]):-webkit-autofill:hover,
input:not([type="submit"]):-webkit-autofill:focus,
input:not([type="submit"]):-webkit-autofill:active {
	-webkit-box-shadow: 0 0 0 30px rgba(0, 0, 0, 0.5) inset !important;
	-webkit-text-fill-color: #404040 !important;
	transition: background-color 5000s ease-in-out 0s;
}
input[type="submit"] {
	color: #ffffff !important;
	background: rgba(141, 27, 32, 0.8) !important;
	cursor: pointer;
	margin-top: 10px;
}
input[type="submit"]:hover {background: rgba(141, 27, 32, 1.0) !important;}
.input-wrapper {
	position: relative;
	width: 263px;
}
.input-wrapper + .input-wrapper {
	margin-top: 10px;
}
.input-field {
	color: #404040;
	margin-bottom: 0;
}
.input-field.input-password {
	padding-right: 24px;
}
.input-wrapper:first-child .input-field {
	padding-right: 24px;
}

/* 密码显示切换按钮 */
.password-toggle {
	position: absolute;
	right: 8px;
	top: 0;
	bottom: 0;
	height: 100%;
	background: transparent;
	border: none;
	cursor: pointer;
	padding: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	z-index: 10;
}
.password-toggle img {
	width: 14px;
	height: 14px;
}

/* 用户名清除按? */
.clear-btn {
	position: absolute;
	right: 8px;
	top: 0;
	bottom: 0;
	height: 100%;
	background: transparent;
	border: none;
	cursor: pointer;
	padding: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	z-index: 10;
}
.clear-btn img {
	width: 14px;
	height: 14px;
}

/* ¼ʾ */
.login-error {
	color: #ff4444;
	font-size: 13px;
	background: rgba(0,0,0,0.3);
	padding: 5px 15px;
	border-radius: 4px;
}

/* ס븴ѡ */
.remember-row {
	width: 263px;
	margin-top: 8px;
	display: flex;
	align-items: center;
	justify-content: flex-start;
	padding-left: 2px;
}
.remember-row input[type="checkbox"] {
	width: auto;
	height: auto;
	margin: 0;
	padding: 0;
	cursor: pointer;
	background: transparent;
	accent-color: rgba(141, 27, 32, 0.8);
}
.remember-row label {
	color: #999999;
	font-size: 12px;
	cursor: pointer;
	margin-left: 6px;
	user-select: none;
}

/* 底部信息? */
.bottom-footer {
	display: flex;
	align-items: center;
	justify-content: center;
	height: 28px;
	background: #000000;
	font-size: 11px;
}
.bottom-footer a {margin: 0 10px;}
.bottom-footer img {width: 15px; vertical-align: middle;}