/* GIB Next login page. Scoped to /login so nothing else on the website changes. */
body[data-path="login"] {
	background: linear-gradient(135deg, #e0f2fe 0%, #f0f9ff 45%, #ffffff 100%) fixed;
	min-height: 100vh;
}
body[data-path="login"] .navbar,
body[data-path="login"] footer.web-footer { display: none; }

body[data-path="login"] .page-content-wrapper,
body[data-path="login"] main.container { max-width: none; width: 100%; padding: 0; margin: 0; }

body[data-path="login"] .gib-login {
	display: grid;
	grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr);
	min-height: 100vh;
	align-items: center;
}
body[data-path="login"] .gib-hero {
	color: #0c4a6e;
	padding: 4rem clamp(2rem, 6vw, 6rem);
}
body[data-path="login"] .gib-hero .gib-brand { display: flex; align-items: center; gap: .75rem; font-size: 1.5rem; font-weight: 700; color: #075985; }
body[data-path="login"] .gib-hero .gib-brand img { width: 44px; height: 44px; border-radius: 12px; background: #fff; padding: 4px; box-shadow: 0 2px 8px rgba(14,165,233,.25); }
body[data-path="login"] .gib-hero h1 { font-size: clamp(1.8rem, 3.2vw, 2.8rem); line-height: 1.15; font-weight: 800; margin: 2.5rem 0 1rem; color: #0c4a6e; }
body[data-path="login"] .gib-hero p.lead { color: #0369a1; font-size: 1.05rem; max-width: 34rem; }
body[data-path="login"] .gib-points { list-style: none; padding: 0; margin: 2rem 0 0; display: grid; gap: .9rem; max-width: 34rem; }
body[data-path="login"] .gib-points li { display: flex; gap: .85rem; align-items: flex-start; }
body[data-path="login"] .gib-points .dot {
	flex: none; width: 2.1rem; height: 2.1rem; border-radius: .6rem; display: grid; place-items: center;
	background: #bae6fd; color: #075985; font-size: 1rem; font-weight: 700;
}
body[data-path="login"] .gib-points b { display: block; font-weight: 600; }
body[data-path="login"] .gib-points span { color: #0369a1; font-size: .9rem; }

body[data-path="login"] .gib-panel { display: flex; justify-content: center; padding: 2rem; }
body[data-path="login"] .gib-panel .page-card,
body[data-path="login"] .gib-panel .login-content {
	background: #fff; border-radius: 1.25rem; box-shadow: 0 20px 50px rgba(14, 165, 233, .22); border: 1px solid #e0f2fe;
	width: 100%; max-width: 26rem; padding: 2rem;
}
body[data-path="login"] .gib-panel .app-logo { width: 48px; height: 48px; border-radius: 12px; }
body[data-path="login"] .gib-panel .es-button[data-variant="solid"],
body[data-path="login"] .gib-panel button[type="submit"] {
	background: linear-gradient(135deg, #0ea5e9, #2563eb); border: 0; color: #fff; border-radius: .7rem; padding: .7rem 1rem;
}
body[data-path="login"] .gib-foot { position: absolute; bottom: 1.2rem; left: 0; right: 0; text-align: center; font-size: .75rem; color: #7dd3fc; }

body[data-path="login"] .gib-panel a { color: #0284c7; }
body[data-path="login"] .gib-panel a:hover { color: #0369a1; }
body[data-path="login"] .gib-panel .page-card-title,
body[data-path="login"] .gib-panel h4 { color: #0c4a6e; }
body[data-path="login"] .gib-panel .page-card-subtitle { color: #0369a1; }
body[data-path="login"] .gib-panel .form-control { border-color: #bae6fd; background: #f8fcff; }
body[data-path="login"] .gib-panel .form-control:focus {
	border-color: #38bdf8; background: #fff; box-shadow: 0 0 0 3px rgba(56, 189, 248, .25); outline: none;
}
body[data-path="login"] .gib-panel .es-button[data-variant="solid"]:hover,
body[data-path="login"] .gib-panel button[type="submit"]:hover { filter: brightness(1.06); }

@media (max-width: 900px) {
	body[data-path="login"] .gib-login { grid-template-columns: 1fr; }
	body[data-path="login"] .gib-hero { padding: 2rem 1.5rem 0; }
	body[data-path="login"] .gib-hero h1 { margin-top: 1.2rem; font-size: 1.6rem; }
	body[data-path="login"] .gib-points { display: none; }
}
