/* ===== RESET ===== */
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

/* ===== BODY ===== */
body {
  font-family: 'Poppins', sans-serif;
  background: linear-gradient(135deg, #19191a, #0089c7);
  min-height: 100vh;
  display: flex;
  justify-content: center;
  align-items: center;
}

/* ===== CONTAINER ===== */
.container {
  max-width: 1080px;
  height: 80vh;
  max-height: 550px;
  display: flex;
  width: 100vw;
  padding: 0 5%;
}

/* ===== LEFT SIDE ===== */
.leftSide {
  width: calc(100% - 450px);
  display: flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(135deg, #ffffff, #0089c7);
  border-top-left-radius: 1rem;
  border-bottom-left-radius: 1rem;
  padding: 2rem;
  position: relative;
}

.leftSide svg {
  max-width: 85%;
}

/* ===== RIGHT SIDE ===== */
.rightSide {
  width: 450px; 
  height: 100%;
  background: #fff;
  border-top-right-radius: 1rem;
  border-bottom-right-radius: 1rem;
  padding: 3rem 2rem;
  position: relative;
  overflow: hidden;
}

/* ===== LOGO ===== */
.brandLogo {
  width: 320px;
  position: absolute;
  top: 20px;
  left: 50%;
  transform: translateX(-50%);
  filter: drop-shadow(0 4px 10px rgba(0,0,0,0.2));
}

/* ===== TITLE ===== */
.formTitle {
  font-size: 1.5rem;
  text-transform: uppercase;
  margin-bottom: 1.5rem;
}

.formTitle::before {
  content: '';
  width: 10%;
  height: 2px;
  position: absolute;
  bottom: -.25rem;
  left: 0;
  background: #e04a41;
}

/* ===== INPUT ===== */
.input {
  width: 100%;
  height: 40px;
  position: relative;
  margin-top: 1.5rem;
}

.input input {
  width: 100%;
  height: 100%;
  padding: 10px;
  border: 1.5px solid #ccc;
  border-radius: .25rem;
  outline: none;
  font-size: .9rem;
  caret-color: #1d2b64;
  background: transparent;
}

/* INPUT FOCUS */
.input input:focus {
  border-color: #e04a41;
  box-shadow: 0 0 5px rgba(224, 74, 65, 0.3);
}

/* PASSWORD ICON */
.input.pass input {
  padding-right: 2rem;
}

.input.pass i {
  position: absolute;
  right: 10px;
  top: 50%;
  transform: translateY(-50%);
  color: #1d2b64;
  cursor: pointer;
}

/* LABEL */
.input label {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  left: .8rem;
  color: #858796;
  font-size: .9rem;
  transition: .3s;
}

input:-webkit-autofill ~ label,
.input input:focus ~ label,
.input input:valid ~ label {
  color: #e04a41;
  top: 0;
  background: #fff;
  padding: 0 .5rem;
  text-transform: uppercase;
}

/* ===== BUTTON ===== */
.btn {
  width: 100%;
  height: 42px;
  background: linear-gradient(135deg, #19191a, #0089c7);
  color: #fff;
  border: none;
  border-radius: .3rem;
  cursor: pointer;
  font-size: 1rem;
  margin-top: 2rem;
  text-transform: uppercase;
  letter-spacing: 2px;
  transition: 0.3s;
  box-shadow: 0 4px 15px rgba(0,0,0,0.2);
}

.btn:hover {
  transform: translateY(-2px);
}

/* ===== MESSAGE ===== */
.message {
  padding: .5rem .75rem;
  border-radius: .5rem;
  font-size: .8rem;
  margin-bottom: .5rem;
  background: #dff0d8;
  color: #28a745;
  border: 1px solid #28a745;
}

.message.error {
  background: #f8d7da;
  color: #721c24;
  border-color: #721c24;
}

/* ===== LINKS ===== */
a {
  text-decoration: none;
  text-transform: uppercase;
  font-size: .8rem;
  color: #1d2b64;
  display: flex;
  align-items: center;
}

a i {
  margin-right: .25rem;
}

/* ===== FORGOT ===== */
.forgotPass {
  padding: .25rem .75rem;
  background: rgba(224, 74, 65, 0.1);
  color: #e04a41;
  float: right;
  margin-top: 1rem;
  font-size: .75rem;
  cursor: pointer;
}

/* ===== FOOTER LINK ===== */
.forgotSec {
  position: absolute;
  left: 50%;
  bottom: 1rem;
  transform: translateX(-50%);
}

/* ===== LOADER ===== */
.fullLoader {
  position: absolute;
  background: rgba(0, 0, 0, 0.2);
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 99;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  backdrop-filter: blur(3px);
  opacity: 0;
  visibility: hidden;
  transition: .3s;
}

.fullLoader.open {
  visibility: visible;
  opacity: 1;
}

/* ===== ANIMATION ===== */
.apnaLoader {
  animation: rotate 2s infinite linear;
}

@keyframes rotate {
  100% {
    transform: rotate(360deg);
  }
}

/* ===== RESPONSIVE ===== */
@media screen and (max-width: 600px) {
  .container {
    flex-direction: column;
    height: 100vh;
  }

  .leftSide,
  .rightSide {
    width: 100%;
    border-radius: 0;
  }

  .rightSide {
    position: absolute;
    top: 6.5rem;
    width: 90%;
    margin-left: 5%;
    border-radius: .5rem;
  }
}