body {
  background: url("../images/login-background.jpg") center center no-repeat fixed;
  background-size: cover;
  position: relative;
  height: 100vh;
  margin: 0;
}

/* Dark overlay to improve text readability */
body::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.6); /* adjust darkness */
  z-index: 0;
}

/* Shake animation */
@keyframes shake {
  0% { transform: translateX(0); }
  20% { transform: translateX(-10px); }
  40% { transform: translateX(10px); }
  60% { transform: translateX(-10px); }
  80% { transform: translateX(10px); }
  100% { transform: translateX(0); }
}

.shake {
  animation: shake 0.4s ease;
}


div.loginHeader,
div.loginBody {
  position: relative;
  z-index: 1; /* ensures text is above overlay */
}

div.loginHeader {
  text-align: center;
}

div.loginHeader h1 {
  font-size: 80px;
  color: #31f604;
  padding: 20px;
  margin: 0px;
  text-shadow: 2px 2px 5px rgba(0,0,0,0.8); /* glow for visibility */
}

div.loginHeader p {
  color: #31f604;
  font-size: 40px;
  margin: 0px;
  text-transform: uppercase;
  display: inline-block;
  font-family: 'Courier New', Courier, monospace;
  text-shadow: 2px 2px 5px rgba(0,0,0,0.8);
}

div.loginHeader p::after {
  content: '';
  display: block;
  height: 4px;
  background: #31f604;
  margin: 0 auto;
}

div.loginBody form {
  margin: 70px auto;
  width: 350px;
  background: rgba(0,0,0,0.7); /* darker form background */
  padding: 20px;
  border: 2px solid #fff;
  border-radius: 8px;
}

div.loginInputsContainer {
  margin: 20px;
}

div.loginInputsContainer label {
  display: block;
  text-transform: uppercase;
  font-size: 18px;
  color: #fff;
}

div.loginInputsContainer input {
  height: 35px;
  width: 100%;
  border: 2px solid #d40339;
  font-size: 18px;
  padding: 5px;
  text-align: center;
  font-style: italic;
  border-radius: 5px;
  background: #fff;
  color: #000;
}

div.loginButtonContainer {
  margin-top: 30px;
  text-align: center;
}

div.loginButtonContainer button {
  font-size: 18px;
  padding: 10px 30px;
  background: #31f604;
  border: none;
  color: #fff;
  border-radius: 5px;
  cursor: pointer;
}

div.loginButtonContainer button:hover {
  background: #d40339;
}

div#Errormessage {
  position: relative;
  z-index: 2; /* makes sure it's above the dark overlay */
  background: #ffebee; /* light red background */
  text-align: center;
  color: #f5f5f5; /* strong red text */
  font-size: 18px;
  padding: 10px;
  margin: 10px auto;
  width: 90%;
  border-radius: 5px;
  border: 1px solid #f6f4f4;
  font-weight: bold;
}


div.CreateAccountContainer button {
  font-size: 18px;
  padding: 10px 30px;
  background: #f685a2;
  border: none;
  color: #fff;
  margin-top: 20px;
  text-align: center;
  margin-left: 70px;
  border-radius: 5px;
  cursor: pointer;
}

div.CreateAccountContainer button:hover {
  background: #d40339;
}

div.loginBody h3, 
div.loginBody a {
  margin-top: 20px;
  color: #fff;
  font-size: 14px;
  padding: 10px;
  display: block;
  text-align: center;
  text-decoration: none;
}

div.loginBody a:hover {
  color: #31f604;
  background: transparent;
  text-decoration: underline;
}

/* Inline error inside login box */
div.inlineError {
    margin: 10px 30px;
    padding: 8px;
    background: rgba(255, 0, 0, 0.15); /* soft red background */
    border: 1px solid #31f604;
    border-radius: 5px;
    color: #31f604;
    font-size: 50px;
    text-align: center;
}
