
		body.login-page {
			--login-green: #0e854b;
			display: block;
			height: auto;
			min-height: 100vh;
			min-height: 100dvh;
			margin: 0;
			color: #263c32;
			background-color: #f1f4f2;
			background-image: linear-gradient(135deg, transparent 49.5%, rgba(255,255,255,.7) 50%, transparent 50.5%), linear-gradient(45deg, transparent 49.5%, rgba(255,255,255,.7) 50%, transparent 50.5%);
			background-size: 100px 100px;
			border-top: 12px solid var(--login-green);
			border-bottom: 12px solid var(--login-green);
		}
		.login-shell { min-height: calc(100vh - 24px); min-height: calc(100dvh - 24px); display: flex; flex-direction: column; padding: 24px 16px; }
		.login-card { flex-shrink: 0; margin: auto; width: 100%; min-width: 0; max-width: 430px; padding: 26px 30px 22px; background: #fff; border: 1px solid #e1e8e3; border-radius: 20px; box-shadow: 0 16px 48px rgba(25,65,43,.1); }
		.login-brand { text-align: center; padding-bottom: 18px; border-bottom: 1px solid #edf1ee; }
		.login-brand img { display: block; width: 280px; max-width: 100%; height: auto; margin: 0 auto 14px; }
		.login-brand p { font-size: 12px; line-height: 1.6; color: #66766d; margin: 0; }
		.login-heading { display: flex; align-items: center; justify-content: space-between; margin: 20px 0 16px; gap: 12px; }
		.login-heading h1 { font-size: 21px; font-weight: 600; margin: 0; color: #263c32; }
		.login-card a { color: var(--login-green); }
		.login-card a:hover { color: #096438; text-decoration: underline; }
		.login-help { font-size: 12px; background: #eff8f3; padding: 7px 10px; border-radius: 8px; white-space: nowrap; }
		.login-field { margin-bottom: 13px; }
		.login-field > label { display: block; font-size: 12px; font-weight: 500; margin-bottom: 6px; }
		.login-card .form-control { height: 44px; padding: 10px 13px; border: 1px solid #dce5df; border-radius: 9px; background: #fbfcfb; font-size: 13px; color: #263c32; }
		.login-card .form-control:focus { border-color: var(--login-green); background: #fff; box-shadow: 0 0 0 3px rgba(14,133,75,.1); }
		.login-card .form-control:disabled { background: #f0f3f1; color: #88968e; }
		.login-heir { padding: 3px 0 14px; }
		.login-heir .checkbox { font-size: 12px; color: #596b60; }
		.login-heir .checkbox > input:checked ~ span { background-color: var(--login-green); }
		.login-security { display: flex; justify-content: center; margin: 16px 0; }
		.login-card .login-submit { width: 100%; padding: 12px 16px; font-size: 14px; font-weight: 600; border-radius: 9px; background: var(--login-green); border-color: var(--login-green); color: #fff; }
		.login-card .login-submit:hover, .login-card .login-submit:focus { background: #096438 !important; border-color: #096438 !important; color: #fff !important; box-shadow: 0 0 0 3px rgba(14,133,75,.15); }
		.login-contact { margin-top: 21px; padding-top: 16px; border-top: 1px solid #edf1ee; font-size: 11px; line-height: 1.9; text-align: center; color: #6d7b72; }
		.login-contact strong { display: block; color: #40574a; font-size: 12px; margin-bottom: 4px; }
		.login-contact a { overflow-wrap: anywhere; }
		.login-contact i { color: var(--login-green); margin-right: 5px; }
		.login-laws { margin-top: 13px; display: grid; gap: 6px; font-size: 10px; text-align: center; line-height: 1.6; }
		@media (max-width: 480px) {
			.login-shell { padding: 16px 10px; }
			.login-card { padding: 22px 18px 18px; border-radius: 16px; }
			.login-brand img { width: 250px; }
		}
		@media (max-width: 359px) {
			.login-card { padding-left: 10px; padding-right: 10px; }
			.login-security { height: 69px; justify-content: center; }
			.login-security .g-recaptcha { transform: scale(.88); transform-origin: top center; flex-shrink: 0; }
			.login-heading h1 { font-size: 19px; }
		}
		/* Compact spacing for shorter browser windows; content remains scrollable. */
		@media (max-height: 800px) {
			.login-shell { padding-top: 14px; padding-bottom: 14px; }
			.login-card { padding-top: 18px; padding-bottom: 16px; }
			.login-brand { padding-bottom: 10px; }
			.login-brand img { width: 220px; margin-bottom: 8px; }
			.login-heading { margin: 12px 0; }
			.login-field { margin-bottom: 9px; }
			.login-field > label { margin-bottom: 4px; }
			.login-card .form-control { height: 40px; padding-top: 8px; padding-bottom: 8px; }
			.login-heir { padding-bottom: 9px; }
			.login-security { margin: 10px 0; }
			.login-card .login-submit { padding-top: 10px; padding-bottom: 10px; }
			.login-contact { margin-top: 12px; padding-top: 10px; line-height: 1.7; }
			.login-laws { margin-top: 8px; gap: 3px; }
		}
		@media (max-height: 620px) {
			.login-brand img { width: 180px; }
			.login-shell { padding-top: 10px; padding-bottom: 10px; }
		}
		/* Two columns reduce the height of the login on desktop and small windows. */
		.login-shell { padding: 16px; }
		.login-card { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); max-width: 800px; padding: 0; }
		.login-info { display: flex; flex-direction: column; justify-content: center; min-width: 0; padding: 28px; background: #f4faf6; border-right: 1px solid #e1e8e3; border-radius: 20px 0 0 20px; }
		.login-form-panel { min-width: 0; padding: 24px; }
		.login-brand { border: 0; padding-bottom: 0; }
		.login-brand img { width: 280px; margin-bottom: 14px; }
		.login-heading { margin: 0 0 16px; }
		.login-heading h1 { font-size: 20px; }
		.login-field { margin-bottom: 10px; }
		.login-field > label { margin-bottom: 4px; }
		.login-card .form-control { height: 40px; padding: 8px 12px; }
		.login-heir { padding: 2px 0 10px; }
		.login-security { margin: 12px 0; }
		.login-contact { margin-top: 26px; padding-top: 18px; }
		.login-laws { margin-top: 18px; gap: 8px; }
		@media (max-height: 620px) and (min-width: 700px) {
			.login-shell { padding: 10px 16px; }
			.login-info { padding: 20px; }
			.login-form-panel { padding: 16px 22px; }
			.login-heading { margin-bottom: 10px; }
			.login-field { margin-bottom: 7px; }
			.login-card .form-control { height: 36px; padding-top: 6px; padding-bottom: 6px; }
			.login-heir { padding-bottom: 7px; }
			.login-security { margin: 8px 0; }
			.login-card .login-submit { padding: 9px 12px; }
		}
		@media (max-width: 699px) {
			.login-shell { padding: 12px; }
			.login-card { max-width: 410px; grid-template-columns: minmax(0, 1fr); }
			.login-info { display: contents; }
			.login-brand { grid-row: 1; padding: 16px 20px 0; }
			.login-brand img { width: 190px; margin-bottom: 6px; }
			.login-brand p { font-size: 11px; }
			.login-form-panel { grid-row: 2; padding: 14px 20px; }
			.login-contact { grid-row: 3; margin: 0 20px; padding-top: 9px; line-height: 1.6; }
			.login-laws { grid-row: 4; margin: 8px 20px 14px; gap: 3px; }
			.login-heading { margin-bottom: 10px; }
		}
		@media (max-width: 359px) {
			.login-shell { padding: 8px; }
			.login-form-panel { padding-left: 10px; padding-right: 10px; }
			.login-heading h1 { font-size: 18px; }
		}
	