/*
 * Sign-in page (260810) — light-scheme form styles over public_site.css (loaded first;
 * :root vars come from there). Same light-scheme constants as signup.css: input border
 * #b9c6d2, panel border #c2d6e0, error ink #a94436 / #8f3a2e on #fbeae7.
 */

/* 260923 U0 auth shell: the .auth-page column (public_site.css) is the readable width;
   the form, banners and notes all span it instead of a narrower 420px inner box. */
.login-form {
	max-width: none;
}

.login-password-row {
	display: flex;
	align-items: stretch;
	gap: 8px;
}

.login-password-row input {
	flex: 1 1 auto;
	min-width: 0;
}

.login-toggle {
	flex: none;
	padding: 8px 14px;
	border: 1px solid #b9c6d2;
	background: #ffffff;
	color: var(--pewter-head);
	font-size: 0.95rem;
}

.login-toggle:hover {
	background: var(--band-bg);
}

.login-field {
	margin-bottom: 20px;
}

.login-field label {
	display: block;
	font-weight: 600;
	color: var(--pewter-head);
	margin-bottom: 4px;
}

.login-field input {
	width: 100%;
	padding: 10px 12px;
	border: 1px solid #b9c6d2;
	border-radius: 6px;
	background: #ffffff;
	color: var(--pewter-head);
	font-size: 1rem;
	line-height: 1.4;
}

.login-field input:focus {
	outline: 2px solid var(--btn-hover);
	outline-offset: 1px;
}

.login-banner {
	border-radius: 6px;
	padding: 10px 14px;
	margin: 12px 0 20px;
	font-size: 0.95rem;
}

.login-banner-error {
	background: #fbeae7;
	border: 1px solid #e0b4ac;
	color: #8f3a2e;
}

.login-banner-info {
	background: var(--band-bg);
	border: 1px solid #c2d6e0;
	color: var(--pewter-text);
}

.login-actions {
	margin-top: 24px;
}

.btn[disabled] {
	opacity: 0.55;
	cursor: not-allowed;
}

.login-signup-note {
	margin-top: 28px;
	color: var(--pewter-muted);
}

/* Separated routes under the form (260923 U0 shell; U1 adds recovery destinations). */
.login-links {
	display: grid;
	gap: 8px;
	margin-top: 24px;
	color: var(--pewter-muted);
}

.login-links p {
	margin: 0;
}

.login-hidden {
	display: none !important;
}
