/* Jenkins Design Build sign-in page (Oct 26, 2026). Frappe's own login page and flows (password, forgot password,
   Google sign-in later) are untouched; this only dresses it in JDB's brand: navy #160F48 and tan #E9DFD8 on white
   (the current logo, "jenkins-V-new-brand-colors-Navy-J", jdbsrv 02 Not-Job-Specific/NewLogo; the gold version is the
   old one, Bethany Oct 26). Every rule is
   scoped to the login page (body[data-path="login"]), so client pages and the staff screen are unaffected. */

body[data-path="login"] {
	--jdb-navy: #160f48;
	--jdb-navy-2: #241a63;
	--jdb-tan: #e9dfd8;
	--jdb-tan-soft: #f4efeb;
	--jdb-ink: #2b2a33;
	--jdb-muted: #6d6a76;
	background: #fff;
	color: var(--jdb-ink);
}

/* Brand panel (added by jdb_login.js) */
body[data-path="login"] .jdbl-brand {
	position: relative;
	overflow: hidden;
	background: #fff;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	text-align: center;
	padding: 40px 24px 28px;
}
body[data-path="login"] .jdbl-watermark {
	position: absolute;
	width: 620px;
	height: 620px;
	left: -170px;
	bottom: -190px;
	background: url("/assets/jdb_build/images/jdb-mark-watermark.png") center / contain no-repeat;
	opacity: 0.6;
	pointer-events: none;
}
body[data-path="login"] .jdbl-inner { position: relative; display: flex; flex-direction: column; align-items: center; }
body[data-path="login"] .jdbl-logo { width: 340px; max-width: 70vw; height: auto; display: block; }
body[data-path="login"] .jdbl-rule { width: 72px; height: 4px; border-radius: 2px; background: var(--jdb-tan); margin: 30px 0 18px; }
body[data-path="login"] .jdbl-portal {
	color: var(--jdb-navy);
	font-size: 13px;
	font-weight: 600;
	letter-spacing: 0.34em;
	text-transform: uppercase;
	margin: 0;
}
body[data-path="login"] .jdbl-tagline { color: var(--jdb-muted); font-size: 14px; margin: 10px 0 0; letter-spacing: 0.02em; }
body[data-path="login"] .jdbl-copy {
	position: absolute;
	bottom: 18px;
	left: 0;
	right: 0;
	color: var(--jdb-muted);
	font-size: 12px;
	letter-spacing: 0.04em;
}

/* The sign-in card */
body[data-path="login"] .page-card {
	border: 1px solid var(--jdb-tan);
	border-top: 5px solid var(--jdb-tan);
	border-radius: 14px;
	box-shadow: 0 18px 40px -24px rgba(22, 15, 72, 0.35);
	background: #fff;
}
body[data-path="login"] .page-card .app-logo { display: none; }
body[data-path="login"] .page-card-head h4 { color: var(--jdb-navy); letter-spacing: -0.01em; }
body[data-path="login"] .page-card-subtitle { color: var(--jdb-muted); }
body[data-path="login"] .page-card label { color: var(--jdb-ink); font-weight: 500; }
body[data-path="login"] .form-control {
	border: 1px solid #d9d4cf;
	background: #fff;
	border-radius: 8px;
}
body[data-path="login"] .form-control:focus {
	border-color: var(--jdb-navy);
	box-shadow: 0 0 0 3px var(--jdb-tan);
	outline: none;
}
body[data-path="login"] .es-button[data-variant="solid"] {
	background: var(--jdb-navy);
	border-color: var(--jdb-navy);
	color: #fff;
	border-radius: 8px;
	font-weight: 600;
	letter-spacing: 0.02em;
}
body[data-path="login"] .es-button[data-variant="solid"]:hover,
body[data-path="login"] .es-button[data-variant="solid"]:focus-visible { background: var(--jdb-navy-2); }
body[data-path="login"] .es-button.btn-login-option {
	border: 1px solid var(--jdb-tan);
	background: var(--jdb-tan-soft);
	color: var(--jdb-navy);
	border-radius: 8px;
}
body[data-path="login"] .page-card a { color: var(--jdb-navy); }
body[data-path="login"] .page-card a:hover { color: var(--jdb-navy-2); text-decoration: underline; }

/* Desktop: logo panel on the left, sign-in on the right */
@media (min-width: 900px) {
	body[data-path="login"] .jdbl-brand {
		position: fixed;
		top: 0;
		bottom: 0;
		left: 0;
		width: 50%;
		border-right: 1px solid var(--jdb-tan);
		padding: 48px;
	}
	body[data-path="login"] .jdbl-logo { width: 380px; }
	body[data-path="login"] main.container {
		margin-left: 50%;
		width: 50%;
		max-width: none;
		min-height: 100vh;
		display: flex;
		align-items: center;
		justify-content: center;
		padding: 40px 24px;
	}
	body[data-path="login"] .page-card { width: 400px; max-width: 100%; margin: 0 auto; }
}

/* Phones and small tablets: logo on top, sign-in below */
@media (max-width: 899px) {
	/* Frappe's page body is a flexbox: keep the logo panel its natural height, the card a normal card */
	body[data-path="login"] { display: block; }
	body[data-path="login"] .jdbl-brand { padding: 36px 16px 8px; flex: none; }
	body[data-path="login"] .page-content-wrapper { min-height: 0; padding-top: 0; }
	body[data-path="login"] .for-login .page-card, body[data-path="login"] .for-forgot .page-card,
	body[data-path="login"] .for-email-login .page-card, body[data-path="login"] .for-login-with-email-link .page-card,
	body[data-path="login"] .for-signup .page-card {
		min-height: 0;
		border: 1px solid var(--jdb-tan);
		border-top: 5px solid var(--jdb-tan);
		border-radius: 14px;
		padding: 24px 20px;
		margin-bottom: 32px;
	}
	body[data-path="login"] .jdbl-logo { width: 220px; }
	body[data-path="login"] .jdbl-rule { margin: 20px 0 12px; }
	body[data-path="login"] .jdbl-tagline, body[data-path="login"] .jdbl-copy { display: none; }
	body[data-path="login"] .jdbl-watermark { width: 380px; height: 380px; left: auto; right: -150px; bottom: auto; top: -120px; opacity: 0.45; }
	body[data-path="login"] main.container { padding-left: 16px; padding-right: 16px; }
	body[data-path="login"] .page-card { margin-top: 12px; }
}
