:root { color-scheme: light; --eiman-ink: #003f3b; }
* { box-sizing: border-box; }
html, body.eiman-auth-page { min-width: 320px; }
body.eiman-auth-page { min-height: 100svh; margin: 0; background: #003c3b; color: #fff; font-family: "Poppins", Arial, sans-serif; }

.eiman-scene {
  position: relative; isolation: isolate; width: min(100%, 1024px); min-height: 100svh;
  margin: 0 auto; padding: 10px 0 58px; overflow: hidden;
  background: #00635c url("../images/eiman-login/farm-background.png") center / 100% 100% no-repeat;
  box-shadow: 0 0 70px rgba(0, 0, 0, .42);
}
.eiman-brand { position: relative; z-index: 2; display: flex; flex-direction: column; align-items: center; text-align: center; filter: drop-shadow(0 5px 6px rgba(0, 30, 25, .65)); }
.eiman-crest { display: block; width: clamp(135px, 21vw, 210px); height: auto; filter: drop-shadow(0 8px 7px rgba(0, 34, 29, .55)); }
.eiman-wordmark {
  display: block; margin-top: -16px; background: linear-gradient(180deg, #fffde0 2%, #ffe56e 27%, #ffc329 50%, #fff4ac 68%, #f6b51b 100%);
  background-clip: text; -webkit-background-clip: text; color: transparent;
  font: 900 clamp(66px, 11vw, 124px)/.96 Georgia, "Times New Roman", serif; letter-spacing: -.055em;
  -webkit-text-stroke: 1px #fff0a1; text-shadow: 0 4px 0 rgba(132, 65, 0, .74), 0 9px 10px rgba(0, 28, 25, .75);
}
.eiman-subtitle { margin-top: 8px; color: #fff; font-size: clamp(23px, 4.4vw, 47px); font-weight: 800; line-height: 1.05; letter-spacing: -.055em; text-shadow: 0 4px 7px rgba(0, 25, 23, .8); }
.eiman-hen-art { position: relative; z-index: 3; width: min(75%, 720px); margin: -2px auto -100px; pointer-events: none; filter: drop-shadow(0 9px 15px rgba(0, 31, 27, .75)); }
.eiman-hen-art img { display: block; width: 100%; height: auto; }

.eiman-card {
  position: relative; z-index: 2; width: calc(100% - 78px); margin: 0 auto;
  border: 8px solid #f9cb2d; border-radius: 75px;
  background: radial-gradient(ellipse at 50% 20%, #006b61 0, #005349 56%, #004b45 100%);
  box-shadow: 0 0 0 2px #7d5408, 0 0 0 4px rgba(255, 246, 148, .6), 0 20px 45px rgba(0, 26, 24, .55), inset 0 0 0 3px #fff39c, inset 0 0 36px rgba(23, 185, 139, .38);
}
.eiman-card::before { content: ""; position: absolute; inset: 15px; border: 2px solid rgba(66, 212, 174, .33); border-radius: 59px; pointer-events: none; }
.eiman-card-inner { position: relative; z-index: 1; padding: 46px 64px 34px; }
.eiman-heading { text-align: center; }
.eiman-heading h1 {
  margin: 0; background: linear-gradient(#fffde0 1%, #ffe066 38%, #ffbb20 58%, #fff3a5 75%, #f4b318 100%);
  background-clip: text; -webkit-background-clip: text; color: transparent;
  font: 900 clamp(46px, 7.2vw, 80px)/1.1 Georgia, "Times New Roman", serif; letter-spacing: -.035em;
  -webkit-text-stroke: .8px #fff0a1; text-shadow: 0 4px 3px rgba(115, 57, 2, .72), 0 9px 12px rgba(0, 23, 21, .65);
}
.eiman-heading p { margin: 0; font-size: clamp(19px, 3.1vw, 34px); font-weight: 700; line-height: 1.2; text-shadow: 0 3px 4px #00372f; }
.eiman-divider { display: flex; align-items: center; justify-content: center; gap: 17px; width: 55%; margin: 17px auto 20px; color: #8ade43; font-size: 26px; line-height: 1; text-shadow: 0 2px 3px #00432c; }
.eiman-divider::before, .eiman-divider::after { content: ""; height: 2px; flex: 1; background: linear-gradient(90deg, transparent, #ffed89 36%, #f3b11e); }
.eiman-divider::after { transform: rotate(180deg); }
.eiman-alert { margin: 0 0 17px; padding: 11px 15px; border: 1px solid #ffcc68; border-radius: 14px; background: rgba(94, 25, 13, .75); color: #fff7df; font-size: 14px; text-align: center; }
.eiman-saved-accounts { display: block; width: 100%; min-height: 47px; margin: 0 0 14px; padding: 0 15px; border: 2px solid #fbd452; border-radius: 14px; background: #fff8df; color: var(--eiman-ink); font: 600 14px "Poppins", Arial, sans-serif; }
.eiman-saved-accounts[hidden] { display: none; }

.eiman-field {
  display: flex; align-items: center; gap: 25px; min-height: 115px; margin-bottom: 18px; padding: 10px 27px;
  border: 5px solid #efbb22; border-radius: 34px; background: linear-gradient(120deg, #fffdf0, #fff6d6 65%, #fff7df);
  box-shadow: inset 0 0 0 2px #fff, inset 0 0 0 4px #bd800e, 0 9px 18px rgba(0, 34, 28, .42);
}
.eiman-field:focus-within { outline: 3px solid #fff5a5; outline-offset: 2px; }
.eiman-field-icon { display: grid; place-items: center; width: 84px; height: 84px; flex: 0 0 84px; border: 2px solid #f6d454; border-radius: 50%; background: radial-gradient(circle at 35% 27%, #007e6d, #004f49 62%, #003b38); color: #fff; font-size: 37px; box-shadow: 0 2px 5px rgba(0, 50, 43, .55); }
.eiman-field-copy { display: flex; flex: 1; min-width: 0; flex-direction: column; }
.eiman-field-copy label { color: #003e3b; font-size: clamp(21px, 2.8vw, 29px); font-weight: 700; line-height: 1.2; }
.eiman-field-copy input { width: 100%; min-width: 0; padding: 2px 0 0; border: 0; outline: 0; background: transparent; color: #003e3b; font: 500 clamp(20px, 2.8vw, 28px)/1.35 "Poppins", Arial, sans-serif; }
.eiman-field-copy input::placeholder { color: #8b8d84; opacity: 1; }
.password-toggle { display: grid; place-items: center; width: 50px; height: 50px; flex: 0 0 50px; padding: 0; border: 0; background: transparent; color: #004844; font-size: 30px; cursor: pointer; }
.password-toggle:focus-visible { outline: 3px solid #007468; border-radius: 8px; }
.eiman-options { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin: 2px 20px 24px; font-size: clamp(17px, 2.5vw, 26px); font-weight: 600; }
.remember-me { display: inline-flex; align-items: center; gap: 14px; cursor: pointer; white-space: nowrap; }
.remember-me input { position: absolute; opacity: 0; }
.remember-me span { display: grid; place-items: center; width: 43px; height: 43px; border: 3px solid #efb527; border-radius: 8px; background: #fff8dd; box-shadow: inset 0 0 0 2px #fff; }
.remember-me input:checked + span::after { content: "✓"; color: #00574f; font-size: 29px; font-weight: 800; line-height: 1; }
.remember-me input:focus-visible + span { outline: 3px solid #fff7b2; outline-offset: 3px; }
.forgot-link, .eiman-signup a { color: #ffe45b; font-weight: 700; text-underline-offset: 5px; }
.forgot-link:hover, .eiman-signup a:hover { color: #fff5b2; }
.forgot-link:focus-visible, .eiman-signup a:focus-visible { outline: 3px solid #fff7ae; outline-offset: 4px; }

.eiman-login-btn {
  position: relative; display: flex; align-items: center; justify-content: center; width: 100%; min-height: 112px; padding: 10px 95px;
  border: 6px solid #f5bd17; border-radius: 100px; background: linear-gradient(170deg, #fffbb5 0, #ffe83f 28%, #eaaa13 55%, #fff071 73%, #d98c08 100%);
  color: #004a43; box-shadow: inset 0 0 0 3px #fff7a4, inset 0 -8px 12px rgba(131, 63, 0, .25), 0 10px 13px rgba(0, 35, 29, .46);
  cursor: pointer; font: 900 clamp(37px, 6vw, 68px)/1 "Poppins", Arial, sans-serif; letter-spacing: -.045em; text-shadow: 0 2px 0 rgba(255, 250, 159, .5);
}
.eiman-login-btn i { position: absolute; right: 22px; display: grid; place-items: center; width: 75px; height: 75px; border: 2px solid #f7d64d; border-radius: 50%; background: radial-gradient(circle at 35% 25%, #006e60, #003e3a); color: #ffe77a; font-size: 34px; box-shadow: 0 3px 5px rgba(65, 54, 0, .5); }
.eiman-login-btn:hover { filter: brightness(1.08); }
.eiman-login-btn:focus-visible { outline: 4px solid #fff7ad; outline-offset: 4px; }
.eiman-login-btn:disabled { opacity: .82; cursor: wait; }
.eiman-login-btn.btn-loading span, .eiman-login-btn.btn-loading i { visibility: hidden; }
.eiman-login-btn.btn-loading::after { content: ""; position: absolute; width: 34px; height: 34px; border: 4px solid #00574f; border-right-color: transparent; border-radius: 50%; animation: eiman-spin .7s linear infinite; }
@keyframes eiman-spin { to { transform: rotate(360deg); } }
.eiman-divider-bottom { width: 65%; margin: 20px auto 12px; }
.eiman-signup { margin: 0; text-align: center; font-size: clamp(18px, 2.8vw, 27px); }
.eiman-signup a { margin-left: 5px; }
.eiman-footer { position: relative; z-index: 1; margin: 21px 15px 0; color: #fff; font: italic 700 clamp(23px, 3.3vw, 35px)/1.3 Georgia, "Times New Roman", serif; text-align: center; text-shadow: 0 4px 6px rgba(0, 25, 22, .8); }
.eiman-footer span, .eiman-footer em { color: #ffd633; }
.eiman-footer em { font-style: italic; }

@media (max-width: 700px) {
  .eiman-scene { padding-top: 8px; padding-bottom: 42px; }
  .eiman-crest { width: clamp(118px, 29vw, 175px); }
  .eiman-wordmark { margin-top: -8px; font-size: clamp(55px, 14vw, 91px); }
  .eiman-subtitle { font-size: clamp(20px, 5.1vw, 33px); }
  .eiman-hen-art { width: 90%; margin: 4px auto -54px; }
  .eiman-card { width: calc(100% - 24px); border-width: 5px; border-radius: 42px; }
  .eiman-card::before { inset: 8px; border-radius: 32px; }
  .eiman-card-inner { padding: 31px 22px 26px; }
  .eiman-heading h1 { font-size: clamp(38px, 9vw, 62px); }
  .eiman-heading p { font-size: clamp(18px, 4.3vw, 27px); }
  .eiman-divider { margin: 9px auto 15px; font-size: 20px; }
  .eiman-field { min-height: 78px; gap: 14px; padding: 7px 14px; border-width: 3px; border-radius: 23px; margin-bottom: 13px; }
  .eiman-field-icon { width: 57px; height: 57px; flex-basis: 57px; font-size: 25px; }
  .eiman-field-copy label { font-size: clamp(17px, 4vw, 22px); }
  .eiman-field-copy input { font-size: clamp(16px, 3.9vw, 21px); }
  .password-toggle { width: 34px; height: 40px; flex-basis: 34px; font-size: 24px; }
  .eiman-options { margin: 2px 5px 18px; font-size: clamp(13px, 3vw, 18px); }
  .remember-me { gap: 8px; }
  .remember-me span { width: 27px; height: 27px; border-width: 2px; border-radius: 5px; }
  .remember-me input:checked + span::after { font-size: 20px; }
  .eiman-login-btn { min-height: 76px; padding: 10px 65px; border-width: 4px; font-size: clamp(32px, 8vw, 48px); }
  .eiman-login-btn i { width: 54px; height: 54px; right: 10px; font-size: 24px; }
  .eiman-divider-bottom { margin: 14px auto 8px; }
  .eiman-signup { font-size: clamp(14px, 3.5vw, 20px); }
  .eiman-footer { font-size: clamp(17px, 4.1vw, 25px); }
}
@media (max-width: 380px) {
  .eiman-card-inner { padding-inline: 16px; }
  .eiman-field { gap: 10px; padding-inline: 10px; }
  .eiman-field-icon { width: 49px; height: 49px; flex-basis: 49px; font-size: 22px; }
  .eiman-field-copy input { font-size: 15px; }
  .eiman-options { font-size: 12px; }
}

/* The registration page shares the login scene and keeps its longer form readable. */
.eiman-signup-page .eiman-heading h1 { font-size: clamp(44px, 6.5vw, 72px); }
.eiman-signup-page .eiman-alert.signup-alert:empty { display: none; }
.eiman-signup-page .eiman-login-btn { font-size: clamp(32px, 5vw, 52px); }
.eiman-signup-page .eiman-field-copy input[readonly] { color: #315e59; }

@media (max-width: 700px) {
  .eiman-signup-page .eiman-heading h1 { font-size: clamp(34px, 7.2vw, 50px); }
  .eiman-signup-page .eiman-login-btn { padding-inline: 48px; font-size: clamp(21px, 5.2vw, 36px); }
}

@media (max-width: 380px) {
  .eiman-signup-page .eiman-heading h1 { font-size: 32px; }
  .eiman-signup-page .eiman-login-btn { padding-inline: 36px 48px; font-size: 20px; }
  .eiman-signup-page .eiman-login-btn i { width: 44px; height: 44px; right: 7px; font-size: 20px; }
}
