/* loginregister.css - Modern & Dynamic for Login/Register */
@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@400;600;700&display=swap');

body {
  background: linear-gradient(135deg, #e0f2ff 0%, #b6e0fe 100%);
  min-height: 100vh;
  font-family: 'Montserrat', Arial, sans-serif;
  display: flex;
  align-items: center;
  justify-content: center;
}

.card-modern {
  max-width: 400px;
  width: 100%;
  margin: 48px auto;
  background: #fff;
  border-radius: 28px;
  box-shadow: 0 8px 32px rgba(41,128,185,0.10), 0 1.5px 8px rgba(41,128,185,0.08);
  padding: 38px 32px 28px 32px;
  display: flex;
  flex-direction: column;
  align-items: center;
  animation: fadeInUp 0.7s cubic-bezier(.39,.575,.56,1) both;
}
@keyframes fadeInUp {
  0% { opacity: 0; transform: translateY(40px); }
  100% { opacity: 1; transform: none; }
}
.card-modern h1 {
  font-size: 2.1rem;
  font-weight: 700;
  color: #2980b9;
  margin-bottom: 18px;
  letter-spacing: 1px;
}
.card-modern form { width: 100%; }
.input-group {
  position: relative;
  margin-bottom: 18px;
}
.input-group i.fa-lock, .input-group i.fa-user, .input-group i.fa-user-circle, .input-group i.fa-envelope {
  position: absolute;
  left: 14px;
  top: 50%;
  transform: translateY(-50%);
  color: #b0b8c1;
  font-size: 1.1rem;
  pointer-events: none;
}
.input-group .toggle-password {
  position: absolute;
  right: 12px;
  top: 50%;
  transform: translateY(-50%);
  cursor: pointer;
  color: #b0b8c1;
  font-size: 1.1rem;
  z-index: 2;
  padding: 4px;
  background: transparent;
  border: none;
  outline: none;
}
.card-modern input[type="password"], .card-modern input[type="text"], .card-modern input[type="email"] {
  width: 100%;
  padding: 12px 44px 12px 40px;
  border-radius: 10px;
  border: 1.5px solid #e1e8ed;
  background: #f5f8fa;
  font-size: 1rem;
  transition: border-color 0.2s;
  box-sizing: border-box;
}
.card-modern input:focus {
  border-color: #2980b9;
  background: #eaf6ff;
  outline: none;
}
.card-modern button {
  width: 100%;
  padding: 13px;
  border-radius: 10px;
  background: linear-gradient(90deg, #2980b9 0%, #2b95e9 100%);
  color: #fff;
  font-weight: 700;
  font-size: 1.1rem;
  border: none;
  margin-top: 8px;
  margin-bottom: 8px;
  cursor: pointer;
  box-shadow: 0 2px 8px rgba(41,128,185,0.08);
  transition: background 0.2s, transform 0.15s;
}
.card-modern button:hover {
  background: linear-gradient(90deg, #2b95e9 0%, #2980b9 100%);
  transform: translateY(-2px) scale(1.03);
}
.card-modern .link-alt {
  margin-top: 12px;
  text-align: center;
  font-size: 1rem;
  color: #2980b9;
  font-weight: 600;
  text-decoration: underline;
  letter-spacing: 0.2px;
  transition: color 0.2s;
}
.card-modern .link-alt:hover {
  color: #1a7ad3;
}
.card-modern .alert {
  width: 100%;
  padding: 10px;
  margin-bottom: 15px;
  border-radius: 7px;
  font-size: 0.98rem;
}
.card-modern .alert-danger {
  background-color: #f8d7da;
  color: #721c24;
  border: 1px solid #f5c6cb;
}
.card-modern .alert-success {
  background-color: #d4edda;
  color: #155724;
  border: 1px solid #c3e6cb;
}
.card-modern a.forgot {
  display: block;
  margin-bottom: 8px;
  color: #2980b9;
  font-size: 0.98rem;
  text-align: right;
  text-decoration: underline;
  font-weight: 500;
}
@media (max-width: 600px) {
  .card-modern {
    max-width: 98vw;
    width: 98vw;
    margin: 18px 1vw;
    padding: 18px 6px 14px 6px;
  }
  .card-modern h1 { font-size: 1.5rem; }
}