body.employee-login-page {
  min-height: 100vh;
  margin: 0;

  color: #17201a;
  background-color: #edf3e9;

  font-family: Arial, Helvetica, sans-serif;
}

/* Page background */
.login-main {
  position: relative;
  isolation: isolate;
  overflow: hidden;

  display: grid;
  place-items: center;

  min-height: calc(100vh - 72px);
  padding: 56px 20px;

  background:
    radial-gradient(
      circle at 15% 20%,
      rgba(170, 198, 153, 0.75),
      transparent 35%
    ),
    radial-gradient(
      circle at 85% 80%,
      rgba(41, 67, 50, 0.2),
      transparent 32%
    ),
    linear-gradient(135deg, #f7f9f4, #e1ebdc);
}

/* Decorative background shapes */
.login-main::before,
.login-main::after {
  content: "";
  position: absolute;
  z-index: -1;

  border-radius: 50%;
  border: 1px solid rgba(41, 67, 50, 0.12);
}

.login-main::before {
  top: -130px;
  right: -100px;

  width: 360px;
  height: 360px;
}

.login-main::after {
  bottom: -180px;
  left: -140px;

  width: 420px;
  height: 420px;
}

/* Login card */
.login-card {
  position: relative;
  width: 100%;
  max-width: 460px;

  padding: 44px;

  background-color: rgba(255, 255, 255, 0.94);
  border: 1px solid rgba(41, 67, 50, 0.14);
  border-radius: 24px;

  box-shadow:
    0 24px 60px rgba(33, 59, 41, 0.18),
    0 6px 18px rgba(33, 59, 41, 0.08);

  backdrop-filter: blur(10px);
}

/* Green accent across the card */
.login-card::before {
  content: "";
  position: absolute;
  top: 0;
  right: 36px;
  left: 36px;

  height: 5px;

  background: linear-gradient(90deg, #aac699, #294332);
  border-radius: 0 0 5px 5px;
}

.login-eyebrow {
  display: inline-block;

  margin-bottom: 18px;
  padding: 7px 12px;

  color: #294332;
  background-color: rgba(170, 198, 153, 0.28);
  border: 1px solid rgba(41, 67, 50, 0.12);
  border-radius: 999px;

  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.09em;
  text-transform: uppercase;
}

.login-card h1 {
  margin: 0 0 10px;

  color: #203226;
  font-size: 36px;
  font-weight: 700;
  line-height: 1.15;
}

.login-intro {
  margin: 0 0 30px;

  color: #607066;
  font-size: 15px;
  line-height: 1.6;
}

/* Form */
.login-form {
  display: grid;
  gap: 21px;
}

.form-field {
  display: grid;
  gap: 8px;
}

.form-field label {
  margin: 0;

  color: #263e2e;
  font-size: 14px;
  font-weight: 700;
}

.form-field input {
  width: 100%;
  height: 52px;
  padding: 0 15px;

  color: #17201a;
  background-color: #fbfcfa;

  border: 1px solid #c8d3c4;
  border-radius: 11px;
  outline: none;

  font-size: 16px;

  transition:
    background-color 160ms ease,
    border-color 160ms ease,
    box-shadow 160ms ease;
}

.form-field input::placeholder {
  color: #89958d;
}

.form-field input:hover {
  border-color: #94aa89;
}

.form-field input:focus {
  background-color: #ffffff;
  border-color: #557a5e;

  box-shadow: 0 0 0 4px rgba(85, 122, 94, 0.16);
}

/* Submit button */
.login-submit {
  width: 100%;
  min-height: 52px;
  margin-top: 5px;

  color: #ffffff;
  background: linear-gradient(135deg, #385a42, #203a29);

  border: 0;
  border-radius: 11px;

  font-size: 15px;
  font-weight: 700;
  letter-spacing: 0.02em;

  box-shadow: 0 8px 18px rgba(32, 58, 41, 0.2);
  cursor: pointer;

  transition:
    box-shadow 180ms ease,
    transform 180ms ease;
}

.login-submit:hover {
  box-shadow: 0 12px 24px rgba(32, 58, 41, 0.28);
  transform: translateY(-2px);
}

.login-submit:focus {
  outline: 3px solid rgba(85, 122, 94, 0.45);
  outline-offset: 3px;
}

.login-submit:active {
  box-shadow: 0 5px 12px rgba(32, 58, 41, 0.2);
  transform: translateY(0);
}

.login-help {
  margin: 25px 0 0;

  color: #718078;
  font-size: 13px;
  line-height: 1.5;
  text-align: center;
}

/* Phone layout */
@media (max-width: 520px) {
  .login-main {
    align-items: start;
    padding: 30px 14px;
  }

  .login-card {
    padding: 34px 24px;
    border-radius: 18px;
  }

  .login-card h1 {
    font-size: 30px;
  }

  /* Login feedback messages */
.login-message {
  margin: 0 0 22px;
  padding: 13px 15px;

  border: 1px solid;
  border-radius: 10px;

  font-size: 14px;
  line-height: 1.5;
}

.login-message-error {
  color: #7a2626;
  background-color: #fff3f3;
  border-color: #e4b6b6;

  box-shadow: inset 4px 0 0 #b94a4a;
}

.login-message-status {
  color: #294d34;
  background-color: #f0f7ed;
  border-color: #bed3b6;

  box-shadow: inset 4px 0 0 #5c865f;
}
}

@media (prefers-reduced-motion: reduce) {
  .form-field input,
  .login-submit {
    transition: none;
  }
}