* { box-sizing: border-box; font-family: "Inter", "Segoe UI", system-ui, sans-serif; }
body { margin: 0; background: var(--bg); color: var(--text); display: grid; place-items: center; min-height: 100vh; }
.card { background: var(--surface); border: 1px solid var(--border); border-radius: 16px; padding: 28px; width: min(420px, 92vw); box-shadow: var(--shadow); }
h1 { margin: 0 0 8px; font-size: 24px; }
p { margin: 0 0 20px; color: var(--text-muted); }
label { display: block; font-size: 13px; color: var(--text-muted); margin-bottom: 6px; }
input { width: 100%; padding: 10px 12px; border: 1px solid var(--border); border-radius: 10px; margin-bottom: 16px; background: var(--surface); color: var(--text); }
.forgot { display: inline-block; margin-bottom: 12px; color: var(--primary); text-decoration: none; font-size: 13px; font-weight: 600; }
.forgot:hover { text-decoration: underline; }
button { width: 100%; background: var(--primary); color: var(--primary-contrast); border: none; padding: 12px; border-radius: 10px; font-weight: 600; cursor: pointer; }
footer { margin-top: 16px; font-size: 12px; color: var(--text-muted); text-align: center; }
.notice { min-height: 18px; margin-bottom: 12px; font-size: 13px; color: var(--danger); }
.toggle-wrap { position: fixed; top: 16px; right: 16px; }

.password-field {
	position: relative;
}

.password-field input {
	width: 100%;
	padding-right: 45px;
	margin-bottom: 16px;
}

.toggle-password-btn {
	position: absolute;
	right: 12px;
	top: 42%;
	transform: translateY(-50%);
	background: transparent;
	border: none;
	cursor: pointer;
	color: var(--text-muted);
	font-size: 20px;
	padding: 0;
	width: auto;
	display: flex;
	align-items: center;
	justify-content: center;
}

.toggle-password-btn:hover {
	color: var(--text);
}