/*
 * Avosys website login — visual alignment with the desk Vue sidebar
 * (navy #0c3352, ambient gradients, white nav chrome, soft card shadow).
 *
 * Match: body[data-path="login"] (Frappe website path) and/or .av-login-themed
 * (set from av_white_label_web.js from window.location.pathname === "/login").
 */

body:is([data-path="login"], [data-path="/login"], .av-login-themed) {
	background-color: #0c3352 !important;
	background-image: radial-gradient(120% 60% at 0% 0%, rgba(255, 255, 255, 0.08), transparent 55%),
		radial-gradient(80% 50% at 100% 100%, rgba(0, 0, 0, 0.25), transparent 60%) !important;
	background-attachment: fixed;
}

/* Remove website Standard Navbar (still injected on some routes despite login.html block) */
body:is([data-path="login"], [data-path="/login"], .av-login-themed) nav.navbar {
	display: none !important;
}

body:is([data-path="login"], [data-path="/login"], .av-login-themed) .page-breadcrumbs {
	display: none !important;
}

body:is([data-path="login"], [data-path="/login"], .av-login-themed) .page-header-wrapper {
	display: none !important;
}

body:is([data-path="login"], [data-path="/login"], .av-login-themed) .page-content-wrapper {
	min-height: 100vh;
	display: flex;
	flex-direction: column;
}

body:is([data-path="login"], [data-path="/login"], .av-login-themed) .page_content {
	flex: 1;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	padding: 2.5rem 1.25rem 4.5rem;
}

/* Brand row above the card (sidebar navy + full-color PNG logo) */
body:is([data-path="login"], [data-path="/login"], .av-login-themed) section.for-login > .page-card-head,
body:is([data-path="login"], [data-path="/login"], .av-login-themed) section.for-forgot > .page-card-head,
body:is([data-path="login"], [data-path="/login"], .av-login-themed) section.for-login-with-email-link > .page-card-head,
body:is([data-path="login"], [data-path="/login"], .av-login-themed) section.for-email-login > .page-card-head,
body:is([data-path="login"], [data-path="/login"], .av-login-themed) section.for-signup > .page-card-head {
	background: transparent;
	border: none;
	box-shadow: none;
	padding-top: max(3vh, 20px);
	padding-bottom: 1.5rem;
	margin-left: auto;
	margin-right: auto;
	max-width: min(92vw, 560px);
}

body:is([data-path="login"], [data-path="/login"], .av-login-themed) section.for-login > .page-card-head .app-logo,
body:is([data-path="login"], [data-path="/login"], .av-login-themed) section.for-forgot > .page-card-head .app-logo,
body:is([data-path="login"], [data-path="/login"], .av-login-themed) section.for-login-with-email-link > .page-card-head .app-logo,
body:is([data-path="login"], [data-path="/login"], .av-login-themed) section.for-email-login > .page-card-head .app-logo,
body:is([data-path="login"], [data-path="/login"], .av-login-themed) section.for-signup > .page-card-head .app-logo {
	/* White treatment on navy: flatten to black then invert; soft glow reads on dark bg */
	filter: brightness(0) invert(1) drop-shadow(0 1px 2px rgba(0, 0, 0, 0.35))
		drop-shadow(0 0 14px rgba(255, 255, 255, 0.12));
	max-height: 72px;
	width: auto;
	object-fit: contain;
}

body:is([data-path="login"], [data-path="/login"], .av-login-themed) section.for-login > .page-card-head h4,
body:is([data-path="login"], [data-path="/login"], .av-login-themed) section.for-forgot > .page-card-head h4,
body:is([data-path="login"], [data-path="/login"], .av-login-themed) section.for-login-with-email-link > .page-card-head h4,
body:is([data-path="login"], [data-path="/login"], .av-login-themed) section.for-email-login > .page-card-head h4,
body:is([data-path="login"], [data-path="/login"], .av-login-themed) section.for-signup > .page-card-head h4 {
	color: rgba(255, 255, 255, 0.95) !important;
	font-weight: 600;
	letter-spacing: 0.01em;
	font-size: 1.375rem;
}

/* Headings inside the white card stay dark */
body:is([data-path="login"], [data-path="/login"], .av-login-themed) .login-content.page-card .page-card-head h4 {
	color: var(--text-color, #0f172a) !important;
}

body:is([data-path="login"], [data-path="/login"], .av-login-themed) .login-content.page-card .page-card-head .app-logo {
	filter: none !important;
}

/* Primary card — wider than stock 400px */
body:is([data-path="login"], [data-path="/login"], .av-login-themed) .for-login .page-card,
body:is([data-path="login"], [data-path="/login"], .av-login-themed) .for-forgot .page-card,
body:is([data-path="login"], [data-path="/login"], .av-login-themed) .for-login-with-email-link .page-card,
body:is([data-path="login"], [data-path="/login"], .av-login-themed) .for-email-login .page-card,
body:is([data-path="login"], [data-path="/login"], .av-login-themed) .for-signup .page-card {
	max-width: min(92vw, 560px);
	width: 100%;
	margin-left: auto;
	margin-right: auto;
	padding: 3rem 2.5rem !important;
	border-radius: 1.125rem !important;
	border: none !important;
	box-shadow: 0 0 24px rgba(0, 0, 0, 0.12) !important;
	background-color: #ffffff !important;
}

body:is([data-path="login"], [data-path="/login"], .av-login-themed) .for-login .page-card form,
body:is([data-path="login"], [data-path="/login"], .av-login-themed) .for-forgot .page-card form,
body:is([data-path="login"], [data-path="/login"], .av-login-themed) .for-login-with-email-link .page-card form,
body:is([data-path="login"], [data-path="/login"], .av-login-themed) .for-email-login .page-card form {
	max-width: 440px;
	margin-left: auto;
	margin-right: auto;
}

body:is([data-path="login"], [data-path="/login"], .av-login-themed) .btn-primary,
body:is([data-path="login"], [data-path="/login"], .av-login-themed) .btn-forgot,
body:is([data-path="login"], [data-path="/login"], .av-login-themed) .btn-login-with-email-link {
	background-color: #0c3352 !important;
	border-color: #0c3352 !important;
	color: #ffffff !important;
	box-shadow: none !important;
	border-radius: 0.5rem !important;
	font-weight: 600;
	min-height: 48px;
	padding-top: 0.65rem;
	padding-bottom: 0.65rem;
	font-size: 0.95rem;
}

body:is([data-path="login"], [data-path="/login"], .av-login-themed) .btn-primary:hover,
body:is([data-path="login"], [data-path="/login"], .av-login-themed) .btn-primary:focus,
body:is([data-path="login"], [data-path="/login"], .av-login-themed) .btn-forgot:hover,
body:is([data-path="login"], [data-path="/login"], .av-login-themed) .btn-login-with-email-link:hover {
	background-color: #0a2a44 !important;
	border-color: #0a2a44 !important;
	color: #ffffff !important;
}

body:is([data-path="login"], [data-path="/login"], .av-login-themed) .btn-primary:active,
body:is([data-path="login"], [data-path="/login"], .av-login-themed) .btn-forgot:active,
body:is([data-path="login"], [data-path="/login"], .av-login-themed) .btn-login-with-email-link:active {
	background-color: #081f33 !important;
	border-color: #081f33 !important;
}

body:is([data-path="login"], [data-path="/login"], .av-login-themed) .btn-default.btn-login-option {
	border-radius: 0.5rem !important;
}

body:is([data-path="login"], [data-path="/login"], .av-login-themed) .page-card-body input[type="text"],
body:is([data-path="login"], [data-path="/login"], .av-login-themed) .page-card-body input[type="email"],
body:is([data-path="login"], [data-path="/login"], .av-login-themed) .page-card-body input[type="password"] {
	border-radius: 0.75rem !important;
	border: 1px solid rgba(15, 23, 42, 0.1) !important;
	min-height: 48px;
	font-size: 15px;
}

body:is([data-path="login"], [data-path="/login"], .av-login-themed) .forgot-password-message a,
body:is([data-path="login"], [data-path="/login"], .av-login-themed) .sign-up-message a,
body:is([data-path="login"], [data-path="/login"], .av-login-themed) .page-card-actions a {
	color: #0c3352 !important;
	font-weight: 500;
}

body:is([data-path="login"], [data-path="/login"], .av-login-themed) .toggle-password.text-muted {
	color: rgba(15, 23, 42, 0.5) !important;
}

body:is([data-path="login"], [data-path="/login"], .av-login-themed) .login-divider.text-muted {
	color: rgba(15, 23, 42, 0.45) !important;
}

body:is([data-path="login"], [data-path="/login"], .av-login-themed) .sign-up-message {
	color: rgba(255, 255, 255, 0.78) !important;
}

body:is([data-path="login"], [data-path="/login"], .av-login-themed) .sign-up-message a {
	color: #ffffff !important;
	text-decoration: underline;
	text-underline-offset: 2px;
}

body:is([data-path="login"], [data-path="/login"], .av-login-themed) .sign-up-message a:hover {
	color: rgba(255, 255, 255, 0.9) !important;
}

body:is([data-path="login"], [data-path="/login"], .av-login-themed) .page-footer {
	border: none;
	background: transparent;
	padding-top: 0.5rem;
	padding-bottom: 1.5rem;
}

body:is([data-path="login"], [data-path="/login"], .av-login-themed) .footer-info {
	color: rgba(255, 255, 255, 0.55);
	font-size: 12px;
}

body:is([data-path="login"], [data-path="/login"], .av-login-themed) .footer-info a {
	color: rgba(255, 255, 255, 0.85);
}

/* Login page footer (www/login.html page_footer block) */
body:is([data-path="login"], [data-path="/login"], .av-login-themed) .page-footer {
	padding-top: 0.25rem;
}

body:is([data-path="login"], [data-path="/login"], .av-login-themed) .av-login-page-footer {
	color: rgba(255, 255, 255, 0.88);
	font-size: 13px;
	line-height: 1.55;
	max-width: min(92vw, 560px);
	margin: 0 auto;
	padding: 0 1rem 2rem;
}

body:is([data-path="login"], [data-path="/login"], .av-login-themed) .av-login-footer-line {
	margin-bottom: 0.35rem;
}

body:is([data-path="login"], [data-path="/login"], .av-login-themed) .av-login-page-footer a {
	color: #ffffff;
	text-decoration: underline;
	text-underline-offset: 2px;
	font-weight: 500;
}

body:is([data-path="login"], [data-path="/login"], .av-login-themed) .av-login-page-footer a:hover {
	color: rgba(255, 255, 255, 0.92);
}

body:is([data-path="login"], [data-path="/login"], .av-login-themed) .av-login-footer-sep {
	margin: 0 0.45rem;
	opacity: 0.55;
}

body:is([data-path="login"], [data-path="/login"], .av-login-themed) .av-login-footer-powered a {
	font-weight: 600;
}

/* Remove "Login with Email Link" (keep password login + OAuth only) */
body:is([data-path="login"], [data-path="/login"], .av-login-themed) section.for-login-with-email-link {
	display: none !important;
}

body:is([data-path="login"], [data-path="/login"], .av-login-themed) .login-with-email-link {
	display: none !important;
}

/* If email link was the only secondary option, hide the lone "or" divider */
body:is([data-path="login"], [data-path="/login"], .av-login-themed)
	.social-logins:has(.login-with-email-link):not(:has(a.btn-login-option:not(.btn-login-with-email-link)))
	.login-divider {
	display: none !important;
}
