/* Aquanita-branded login (S12). Colours from aquanitafoods.com: wall blue, wave sky blue, leaf green. */
:root { --aq-navy: #0b2c47; --aq-blue: #1b75a8; --aq-sky: #4fc3ea; --aq-green: #61ce70; }
html, body { height: 100%; }
body { background: #fff !important; font-family: "Open Sans", var(--font-stack, sans-serif); }
body .page-content-wrapper { min-height: 0; }
.aq-login { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(380px, 1fr); min-height: 100vh; }
.aq-login-hero { position: relative; background-size: cover; background-position: center center; min-height: 100vh; }
.aq-login-hero-shade { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(11, 44, 71, .10) 0%, rgba(11, 44, 71, .25) 45%, rgba(11, 44, 71, .92) 100%); }
.aq-login-hero-text { position: absolute; left: 48px; right: 48px; bottom: 44px; color: #fff; }
.aq-login-wordmark { width: 260px; max-width: 70%; display: block; margin-bottom: 14px; }
.aq-login-tag { font-family: "Oswald", sans-serif; font-size: 26px; letter-spacing: .04em; text-transform: uppercase; margin: 0 0 6px; }
.aq-login-sub { font-size: 15px; opacity: .85; margin: 0; padding-left: 12px; border-left: 3px solid var(--aq-green); }
.aq-login-main { position: relative; display: flex; flex-direction: column; justify-content: center; padding: 40px 32px 56px; background: linear-gradient(180deg, #f6fafd 0%, #fff 60%); }
.aq-login-lang { position: absolute; top: 20px; right: 24px; display: flex; gap: 4px; font-size: 13px; }
.aq-login-lang a { padding: 4px 10px; border-radius: 14px; color: var(--aq-blue); text-decoration: none; border: 1px solid transparent; }
.aq-login-lang a.on { border-color: var(--aq-blue); font-weight: 600; }
.aq-login-lang a:hover { background: rgba(27, 117, 168, .08); }
.aq-login-box { width: 100%; max-width: 400px; margin: 0 auto; }
.aq-login-foot { position: absolute; bottom: 18px; left: 0; right: 0; text-align: center; font-size: 12px; color: #8a9aa8; }

/* Frappe's login markup, restyled */
.aq-login .page-card-head { text-align: left; padding: 0 0 18px; }
.aq-login .page-card-head .app-logo { width: 56px; height: auto; margin: 0 0 18px; display: block; }
.aq-login .page-card-head h4 { font-family: "Oswald", sans-serif; font-size: 26px; font-weight: 500; color: var(--aq-navy); letter-spacing: .02em; margin: 0; }
.aq-login .for-login .page-card, .aq-login .for-forgot .page-card, .aq-login .for-signup .page-card,
.aq-login .for-email-login .page-card, .aq-login .for-login-with-email-link .page-card {
	max-width: 400px; padding: 28px 24px; border: 1px solid #e3ebf2; border-radius: 14px; box-shadow: 0 10px 30px rgba(11, 44, 71, .08); background: #fff; }
.aq-login .page-card-body input[type="text"], .aq-login .page-card-body input[type="email"], .aq-login .page-card-body input[type="password"] {
	height: 42px; border-radius: 8px; background: #f2f6f9; }
.aq-login .btn-primary.btn-login, .aq-login .btn-primary.btn-forgot, .aq-login .btn-primary.btn-login-with-email-link {
	height: 42px; border-radius: 8px; background: var(--aq-blue); border-color: var(--aq-blue); font-weight: 600; font-size: 14px; }
.aq-login .btn-primary.btn-login:hover, .aq-login .btn-primary.btn-forgot:hover { background: #155e87; border-color: #155e87; }
.aq-login .forgot-password-message a, .aq-login .sign-up-message a { color: var(--aq-blue); }

@media (max-width: 900px) {
	.aq-login { grid-template-columns: 1fr; }
	.aq-login-hero { min-height: 240px; background-position: center 30%; }
	.aq-login-hero-text { left: 20px; right: 20px; bottom: 18px; }
	.aq-login-wordmark { width: 180px; margin-bottom: 8px; }
	.aq-login-tag { font-size: 18px; }
	.aq-login-sub { font-size: 13px; }
	.aq-login-main { padding: 56px 16px 64px; justify-content: flex-start; }
}

/* Frappe 16.50+ login markup: espresso buttons (.es-button) replace .btn-primary.btn-login */
.aq-login .es-button[data-variant="solid"] { height: 42px; border-radius: 8px; background: var(--aq-blue) !important; border-color: var(--aq-blue) !important; color: #fff !important; font-weight: 600; font-size: 14px; }
.aq-login .es-button[data-variant="solid"]:hover { background: #155e87 !important; border-color: #155e87 !important; }
.aq-login .page-card-head .page-card-subtitle { color: #5b6b78; }
.aq-login .form-control { height: 42px; border-radius: 8px; }
