/* Bilan login branding — invento_bilan only (white / navy / gold). */

html body.invento-login.bilan-login,
html body.bilan-login {
	background: #ffffff !important;
	background-image: none !important;
	color: #0a1f3d !important;
	min-height: 100vh !important;
	overflow-x: hidden !important;
}
html body.invento-login.bilan-login .page_content,
html body.bilan-login .page_content,
html body.invento-login.bilan-login #page-login,
html body.invento-login.bilan-login .page-content,
html body.invento-login.bilan-login main.container,
html body.invento-login.bilan-login .container,
html body.invento-login.bilan-login .login-content {
	background: #ffffff !important;
	width: 100% !important;
	max-width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
}
html body.invento-login.bilan-login .navbar,
html body.invento-login.bilan-login .web-footer,
html body.invento-login.bilan-login footer.web-footer {
	display: none !important;
}
html body.invento-login.bilan-login .invento-login-brand,
html body.invento-login.bilan-login .invento-login-tagline,
html body.invento-login.bilan-login .invento-brand-logo,
html body.invento-login.bilan-login .page-card-head .app-logo:not(.bilan-brand-logo),
html body.invento-login.bilan-login .page-card-head .page-card-head-text,
html body.invento-login.bilan-login .page-card-head h4,
html body.invento-login.bilan-login .page-card-head .app-name {
	display: none !important;
}

/* Hide only Frappe Cloud */
html body.invento-login.bilan-login .btn-login-with-frappe-cloud,
html body.invento-login.bilan-login a.btn-login-with-frappe-cloud,
html body.invento-login.bilan-login .social-login-buttons:has(.btn-login-with-frappe-cloud) {
	display: none !important;
}

/* ===== Desktop: brand left + form right ===== */
html body.invento-login.bilan-login .for-login {
	min-height: 100vh !important;
	display: flex !important;
	flex-direction: row !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 72px !important;
	padding: 48px 40px !important;
	background: #ffffff !important;
	width: 100% !important;
	box-sizing: border-box !important;
}
html body.invento-login.bilan-login .page-card {
	display: flex !important;
	flex-direction: row !important;
	align-items: center !important;
	justify-content: center !important;
	gap: 72px !important;
	width: auto !important;
	max-width: 1100px !important;
	border: none !important;
	border-radius: 0 !important;
	background: transparent !important;
	backdrop-filter: none !important;
	box-shadow: none !important;
	padding: 0 !important;
	margin: 0 auto !important;
}
html body.invento-login.bilan-login .page-card-head {
	display: flex !important;
	flex-direction: column !important;
	align-items: center !important;
	justify-content: center !important;
	width: 340px !important;
	min-width: 280px !important;
	padding: 0 !important;
	border: none !important;
	background: transparent !important;
	order: 0 !important;
	flex: 0 0 auto !important;
}
html body.invento-login.bilan-login .page-card-body,
html body.invento-login.bilan-login .page-card .page-card-body {
	width: 460px !important;
	max-width: 460px !important;
	padding: 36px 36px 32px !important;
	background: #ffffff !important;
	border: 1px solid #d7deea !important;
	border-radius: 22px !important;
	box-shadow: 0 14px 44px rgba(10, 31, 61, 0.08) !important;
	color: #0a1f3d !important;
	order: 1 !important;
	flex: 0 0 auto !important;
	box-sizing: border-box !important;
	overflow: hidden !important;
	position: relative !important;
}
html body.invento-login.bilan-login .page-card-body > *,
html body.invento-login.bilan-login .page-card .page-card-body > * {
	max-width: 100% !important;
	box-sizing: border-box !important;
}
html body.invento-login.bilan-login .page-card-body form,
html body.invento-login.bilan-login .page-card-body .form-signin,
html body.invento-login.bilan-login .page-card-body .page-card-body,
html body.invento-login.bilan-login .form-signin,
html body.invento-login.bilan-login form.form-signin,
html body.invento-login.bilan-login form.form-login {
	width: 100% !important;
	max-width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
	float: none !important;
	position: static !important;
	left: auto !important;
	right: auto !important;
	transform: none !important;
	box-sizing: border-box !important;
	overflow: visible !important;
}
html body.invento-login.bilan-login .form-group,
html body.invento-login.bilan-login .page-card-actions,
html body.invento-login.bilan-login .social-logins,
html body.invento-login.bilan-login .login-with-email-link {
	width: 100% !important;
	max-width: 100% !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
	float: none !important;
	box-sizing: border-box !important;
}

html body.invento-login.bilan-login .bilan-login-brand {
	display: flex !important;
	flex-direction: column !important;
	align-items: center !important;
	gap: 12px !important;
	width: 100% !important;
	margin: 0 !important;
	position: static !important;
	float: none !important;
	transform: none !important;
}
html body.invento-login.bilan-login .bilan-logo-plate {
	background: transparent !important;
	padding: 0 !important;
	box-shadow: none !important;
}
html body.invento-login.bilan-login .bilan-brand-logo,
html body.invento-login.bilan-login .bilan-logo-plate img {
	display: block !important;
	max-width: 320px !important;
	max-height: 96px !important;
	width: auto !important;
	height: auto !important;
	margin: 0 auto !important;
}
html body.invento-login.bilan-login .bilan-byline {
	font-size: 14px !important;
	color: #5b6b82 !important;
}
html body.invento-login.bilan-login .bilan-byline strong {
	color: #0a1f3d !important;
	font-weight: 700 !important;
}
html body.invento-login.bilan-login .bilan-login-brand::after {
	content: "" !important;
	display: block !important;
	width: 56px !important;
	height: 3px !important;
	margin: 2px auto 0 !important;
	border-radius: 99px !important;
	background: #e6a81a !important;
}

html body.invento-login.bilan-login .form-group { margin-bottom: 18px !important; }
html body.invento-login.bilan-login label.form-label,
html body.invento-login.bilan-login label.form-label.sr-only,
html body.invento-login.bilan-login label[for="login_email"],
html body.invento-login.bilan-login label[for="login_password"],
html body.invento-login.bilan-login label[for="forgot_email"],
html body.invento-login.bilan-login label[for="login_with_email_link_email"] {
	position: static !important;
	width: auto !important;
	height: auto !important;
	padding: 0 !important;
	margin: 0 0 8px !important;
	overflow: visible !important;
	clip: auto !important;
	clip-path: none !important;
	white-space: normal !important;
	border: 0 !important;
	display: block !important;
	text-align: left !important;
	font-size: 15px !important;
	font-weight: 600 !important;
	color: #0a1f3d !important;
}
html body.invento-login.bilan-login .email-field,
html body.invento-login.bilan-login .password-field,
html body.invento-login.bilan-login .form-group > div:has(> input.form-control) {
	position: relative !important;
	display: block !important;
	width: 100% !important;
}
html body.invento-login.bilan-login .field-icon,
html body.invento-login.bilan-login .email-icon,
html body.invento-login.bilan-login .password-icon {
	position: absolute !important;
	left: 16px !important;
	top: 50% !important;
	transform: translateY(-50%) !important;
	z-index: 2 !important;
	pointer-events: none !important;
	opacity: 0.55 !important;
}
html body.invento-login.bilan-login .toggle-password {
	position: absolute !important;
	right: 16px !important;
	top: 50% !important;
	transform: translateY(-50%) !important;
	z-index: 3 !important;
	color: #5b6b82 !important;
	font-size: 14px !important;
}
html body.invento-login.bilan-login input.form-control,
html body.invento-login.bilan-login .form-control,
html body.invento-login.bilan-login .frappe-control input {
	width: 100% !important;
	max-width: 100% !important;
	padding: 14px 88px 14px 48px !important;
	box-sizing: border-box !important;
	background: #ffffff !important;
	border: 1.5px solid #c9d3e4 !important;
	border-radius: 14px !important;
	color: #0a1f3d !important;
	min-height: 56px !important;
	height: 56px !important;
	font-size: 16px !important;
	line-height: 1.35 !important;
	box-shadow: none !important;
}
html body.invento-login.bilan-login input.form-control::placeholder,
html body.invento-login.bilan-login .form-control::placeholder {
	color: #7b889c !important;
	opacity: 1 !important;
	font-size: 16px !important;
}
html body.invento-login.bilan-login .form-control:focus,
html body.invento-login.bilan-login input.form-control:focus {
	border-color: #e6a81a !important;
	box-shadow: 0 0 0 3px rgba(230,168,26,0.22) !important;
}
html body.invento-login.bilan-login .forgot-password-message {
	text-align: right !important;
	margin: 4px 0 14px !important;
}
html body.invento-login.bilan-login .forgot-password-message a,
html body.invento-login.bilan-login .sign-up-message,
html body.invento-login.bilan-login label,
html body.invento-login.bilan-login .control-label,
html body.invento-login.bilan-login .login-footer {
	color: #5b6b82 !important;
	font-size: 14px !important;
}
html body.invento-login.bilan-login .forgot-password-message a:hover {
	color: #0a1f3d !important;
}
html body.invento-login.bilan-login .page-card-actions { margin-top: 10px !important; }
html body.invento-login.bilan-login .btn-login,
html body.invento-login.bilan-login .btn-primary,
html body.invento-login.bilan-login button.btn-login {
	background: #0a1f3d !important;
	background-image: none !important;
	border: 1px solid #0a1f3d !important;
	border-radius: 14px !important;
	min-height: 52px !important;
	font-size: 16px !important;
	font-weight: 700 !important;
	color: #ffffff !important;
	box-shadow: 0 8px 20px rgba(10,31,61,0.18) !important;
	width: 100% !important;
}
html body.invento-login.bilan-login .btn-login:hover {
	background: #14345f !important;
	border-color: #e6a81a !important;
	filter: none !important;
}
html body.invento-login.bilan-login .btn-login-option,
html body.invento-login.bilan-login .btn-default.btn-login-option,
html body.invento-login.bilan-login a.btn-login-option {
	background: #ffffff !important;
	border: 1.5px solid #c9d3e4 !important;
	color: #0a1f3d !important;
	border-radius: 14px !important;
	min-height: 48px !important;
	font-size: 15px !important;
	font-weight: 600 !important;
	box-shadow: none !important;
	width: 100% !important;
}
html body.invento-login.bilan-login .btn-login-option:hover {
	background: #fff8e8 !important;
	border-color: #e6a81a !important;
	color: #0a1f3d !important;
}
html body.invento-login.bilan-login .btn-login-option .icon,
html body.invento-login.bilan-login .btn-login-option svg,
html body.invento-login.bilan-login .btn-login-option img {
	filter: none !important;
	opacity: 0.8 !important;
}
html body.invento-login.bilan-login .social-logins,
html body.invento-login.bilan-login .social-logins p,
html body.invento-login.bilan-login .social-logins .text-muted,
html body.invento-login.bilan-login .login-divider {
	color: #5b6b82 !important;
	font-size: 14px !important;
}
html body.invento-login.bilan-login .invento-login-footer,
html body.invento-login.bilan-login .bilan-login-footer {
	text-align: center !important;
	margin-top: 18px !important;
	font-size: 13px !important;
	color: #5b6b82 !important;
}
html body.invento-login.bilan-login .invento-login-footer a {
	color: #0a1f3d !important;
	font-weight: 700 !important;
	text-decoration: none !important;
}

/* Other auth screens: same white branding, one at a time */
html body.invento-login.bilan-login .for-forgot,
html body.invento-login.bilan-login .for-email-login,
html body.invento-login.bilan-login .for-login-with-email-link,
html body.invento-login.bilan-login .for-signup,
html body.invento-login.bilan-login .for-verification {
	min-height: 100vh !important;
	align-items: center !important;
	justify-content: center !important;
	padding: 48px 20px !important;
	background: #ffffff !important;
	box-sizing: border-box !important;
}

/* ===== Mobile: stacked card, NEVER show multiple screens ===== */

/* Nested Frappe form wrappers must not keep fixed 460px width */
html body.invento-login.bilan-login .page-card-body .page-card-body,
html body.invento-login.bilan-login .page-card-body .page-card-head,
html body.invento-login.bilan-login form .page-card-body {
	width: 100% !important;
	max-width: 100% !important;
	padding: 0 !important;
	margin: 0 !important;
	border: none !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	background: transparent !important;
	overflow: visible !important;
}
html body.invento-login.bilan-login .page-card {
	overflow: visible !important;
}
html body.invento-login.bilan-login .page-card-body {
	overflow-x: hidden !important;
}

@media (max-width: 900px) {
	html body.invento-login.bilan-login .for-login {
		flex-direction: column !important;
		align-items: stretch !important;
		justify-content: flex-start !important;
		gap: 0 !important;
		padding: max(24px, env(safe-area-inset-top)) 16px max(28px, env(safe-area-inset-bottom)) !important;
		min-height: 100dvh !important;
	}
	html body.invento-login.bilan-login .page-card {
		flex-direction: column !important;
		align-items: stretch !important;
		gap: 0 !important;
		width: 100% !important;
		max-width: 100% !important;
		border: 1px solid #d7deea !important;
		border-radius: 18px !important;
		background: #ffffff !important;
		box-shadow: 0 10px 28px rgba(10, 31, 61, 0.07) !important;
		padding: 8px 0 18px !important;
	}
	html body.invento-login.bilan-login .page-card-head {
		width: 100% !important;
		min-width: 0 !important;
		padding: 28px 20px 10px !important;
	}
	html body.invento-login.bilan-login .page-card-body,
	html body.invento-login.bilan-login .page-card .page-card-body {
		width: 100% !important;
		max-width: 100% !important;
		padding: 10px 18px 22px !important;
		border: none !important;
		border-radius: 0 !important;
		box-shadow: none !important;
		background: transparent !important;
	}
	html body.invento-login.bilan-login .bilan-brand-logo,
	html body.invento-login.bilan-login .bilan-logo-plate img {
		max-width: 240px !important;
		max-height: 72px !important;
	}
	html body.invento-login.bilan-login input.form-control,
	html body.invento-login.bilan-login .form-control {
		min-height: 54px !important;
		height: 54px !important;
		font-size: 16px !important;
		padding: 12px 84px 12px 46px !important;
	}
	html body.invento-login.bilan-login input.form-control::placeholder {
		font-size: 16px !important;
	}
	html body.invento-login.bilan-login .btn-login,
	html body.invento-login.bilan-login .btn-primary,
	html body.invento-login.bilan-login .btn-login-option,
	html body.invento-login.bilan-login .page-card-actions .btn {
		width: 100% !important;
		min-height: 52px !important;
		font-size: 16px !important;
	}
	html body.invento-login.bilan-login .for-forgot,
	html body.invento-login.bilan-login .for-email-login,
	html body.invento-login.bilan-login .for-login-with-email-link,
	html body.invento-login.bilan-login .for-signup,
	html body.invento-login.bilan-login .for-verification {
		padding: max(24px, env(safe-area-inset-top)) 16px max(28px, env(safe-area-inset-bottom)) !important;
		min-height: 100dvh !important;
		align-items: stretch !important;
		justify-content: flex-start !important;
	}
}
