/* ====== New Balance-like clean login style ====== */
:root {
	--bg-from: #f4f1ec;
	--bg-to: #e7e2da;
	--text: #111111;
	--muted: #6b6b6b;
	--line: #d9d9d9;
	--cta: #e60023;
	--cta-hover: #cc001f;
	--card: #ffffff;
	--focus: rgba(230,0,35,.22);
}

/* reset */
* {
	box-sizing: border-box;
}

html, body {
	height: 100%;
	margin: 0;
	padding: 0;
	font-family: "Helvetica Neue", Arial, sans-serif;
}

	/* 背景：淡米色漸層 */
	body.logon {
		min-height: 100%;
		background: linear-gradient(180deg, var(--bg-from) 0%, var(--bg-to) 100%);
		background-size: cover;
		display: flex;
		align-items: center;
		justify-content: center;
		overflow: hidden;
	}

/* 外層容器：置中、留白 */
#logon {
	width: 100%;
	padding: 24px;
}

/* 登入卡片 */
#dl {
	max-width: 420px;
	width: 100%;
	padding: 40px 28px;
	border-radius: 16px;
	background: var(--card);
	box-shadow: 0 10px 28px rgba(0,0,0,.12);
	margin: 0 auto;
}

/* 標題 */
.title h3 {
	margin: 8px 0 4px;
	font-size: 28px;
	font-weight: 800;
	color: var(--text);
	letter-spacing: .2px;
	text-align: center;
}

.title h5 {
	margin: 0 0 6px;
	font-size: 15px;
	color: var(--cta);
	font-weight: 700;
	text-align: center;
}

/* Logo 置中與大小 */
.top img {
	max-height: 64px;
	margin: 0 auto 6px;
}

/* 表單欄位 */
.input-group {
	margin-bottom: 16px;
}

.input-group-addon {
	background: transparent;
	border: none;
	color: var(--muted);
	font-size: 18px;
	padding-right: 6px;
}

#dl input.form-control,
#dl select.form-control,
#dl select {
	width: 100%;
	height: auto;
	padding: 10px 12px;
	border: 1px solid var(--line);
	border-radius: 8px;
	background: #fff;
	color: var(--text);
	font-size: 15px;
	box-shadow: none;
	outline: none;
}

	#dl input.form-control:focus,
	#dl select.form-control:focus {
		border-color: var(--cta);
		box-shadow: 0 0 0 3px var(--focus);
	}

/* 驗證碼列對齊 */
#captchaImg {
	border-radius: 8px;
	border: 1px solid var(--line);
	padding: 4px;
	height: 40px;
}

/* 忘記密碼/記住密碼 */
.forget {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin: 6px 0 14px;
	font-size: 13px;
	color: var(--muted);
}

	.forget a {
		color: var(--text);
		text-decoration: none;
	}

		.forget a:hover {
			color: var(--cta);
		}

/* CTA 按鈕（覆蓋 bootstrap .btn-info） */
#btnLogon.btn,
.btn-info {
	background-color: var(--cta) !important;
	border: none !important;
	color: #fff !important;
	border-radius: 10px !important;
	padding: 12px 14px !important;
	font-size: 16px !important;
	font-weight: 700 !important;
	width: 100%;
	transition: background .2s ease;
}

	#btnLogon.btn:hover,
	.btn-info:hover {
		background-color: var(--cta-hover) !important;
	}

/* 錯誤訊息 */
#result {
	color: var(--cta);
	text-align: center;
	margin-top: 10px;
	font-size: 14px;
}

/* 註冊區 */
.userRegister {
	text-align: center;
}

	.userRegister > div {
		display: inline-flex;
		margin-top: 16px;
		font-size: 14px;
		color: var(--text);
		cursor: pointer;
	}

		.userRegister > div:hover {
			color: var(--cta);
		}

/* 版面間距（取代舊的背景藍 + 大圓角） */
#box {
	padding: 0;
}

/* RWD */
@media (max-width:768px) {
	#dl {
		padding: 32px 22px;
	}

	.title h3 {
		font-size: 24px;
	}
}
