* {
   margin: 0;
   padding: 0;
   box-sizing: border-box;
   font-family: 'Poppins', sans-serif;
}

body {
   background: linear-gradient(45deg, #ffffff, #0088cc);
   height: 100vh;
   display: flex;
   justify-content: center;

   align-items: center;
}

.login-container {
   width: 100%;
   max-width: 400px;
   background-color: #fff;
   padding: 40px;
   border-radius: 10px;
   box-shadow: 0 15px 25px rgba(0, 0, 0, 0.2);
}

.signup-container {
   width: 100%;
   max-width: 400px;
   background-color: #fff;
   padding: 40px;
   border-radius: 10px;
   box-shadow: 0 15px 25px rgba(0, 0, 0, 0.2);
}

.login-box h2 {
   margin-bottom: 30px;
   text-align: center;
   color: #22003c;
}
/* This is for login page attribute , if password is wrong*/
div.login-box ul li.error {
   text-decoration: none;
   padding: 20px;
   color: red;
   
}
/* this is for signup page*/
.signup-box h2 {
   padding-bottom: 20px;
}
.input-group {
   position: relative;
   margin-bottom: 30px;
}

.input-group input {
   width: 100%;
   padding: 10px 10px;
   font-size: 16px;
   background: #f0f0f0;
   border: none;
   border-radius: 5px;
   outline: none;
   transition: 0.3s;
}

.input-group label {
   position: absolute;
   top: 10px;
   left: 10px;
   font-size: 16px;
   color: #aaa;
   pointer-events: none;
   transition: 0.3s;
}

.input-group input:focus ~ label,
.input-group input:valid ~ label {
   top: -18px;
   left: 10px;
   color: #6A82FB;
   font-size: 12px;
}

.input-group button {
   width: 100%;
   padding: 10px;
   background: #22003c;
   border: none;
   border-radius: 5px;
   color: #fff;
   font-size: 16px;
   cursor: pointer;
   transition: 0.3s;
}

.input-group button:hover {
   background: #5fbaec;
}

.options {
   display: flex;
   justify-content: space-between;
   margin-top: 20px;
}

.options a {
   color: #22003c;
   text-decoration: none;
   transition: 0.3s;
}

.options a:hover {
   color: #5fbaec; /* #FC5C7D; */
}



/* ================= MESSAGE CONTAINER ================= */
.message-container {
   margin-bottom: 20px;
   position: relative;
}

/* Base Alert */
.alert {
   padding: 14px 18px;
   border-radius: 8px;
   margin-bottom: 12px;
   font-size: 14px;
   font-weight: 500;
   opacity: 0;
   transform: translateY(-15px);
   animation: slideFade 0.4s ease forwards;
   box-shadow: 0 5px 15px rgba(0,0,0,0.05);
}

/* Success */
.alert.success {
   background: #e6f9f0;
   color: #1a7f37;
   border-left: 4px solid #1a7f37;
   animation: slideFade 0.4s ease forwards, pulse 0.6s ease;
}

/* Error */
.alert.error {
   background: #fdecea;
   color: #b42318;
   border-left: 4px solid #b42318;
   animation: slideFade 0.4s ease forwards, shake 0.4s ease;
}

/* Slide Animation */
@keyframes slideFade {
   to {
      opacity: 1;
      transform: translateY(0);
   }
}

/* Shake for error */
@keyframes shake {
   0% { transform: translateX(0); }
   25% { transform: translateX(-5px); }
   50% { transform: translateX(5px); }
   75% { transform: translateX(-5px); }
   100% { transform: translateX(0); }
}

/* Pulse for success */
@keyframes pulse {
   0% { transform: scale(1); }
   50% { transform: scale(1.03); }
   100% { transform: scale(1); }
}
