/* Login Page Styles */
* { 
  margin: 0; 
  padding: 0; 
  box-sizing: border-box; 
}

body { 
  font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif; 
  background: #111; 
  min-height: 100vh; 
  display: flex; 
  align-items: center; 
  justify-content: center; 
}

.login-container { 
  background: white; 
  border-radius: 15px; 
  box-shadow: 0 0 40px rgba(0, 0, 0, 0.15); 
  padding: 50px; 
  text-align: center; 
  max-width: 450px; 
  width: 90%; 
  position: relative; 
  overflow: hidden; 
}

.logo { 
  margin: 0 auto 30px; 
  display: flex; 
  align-items: center; 
  justify-content: center; 
  height: 30px; 
}

.logo img { 
  height: 100%; 
  object-fit: contain; 
}

.login-title { 
  font-size: 28px; 
  font-weight: 700; 
  color: #333; 
  margin-bottom: 10px; 
}

.login-subtitle { 
  font-size: 16px; 
  color: #666; 
  margin-bottom: 40px; 
}

.ms-login-btn { 
  border: 1px solid #0078d4; 
  color: #333; 
  background: #fff; 
  padding: 15px 30px; 
  border-radius: 8px; 
  font-size: 16px; 
  font-weight: 600; 
  cursor: pointer; 
  transition: all 0.3s ease; 
  display: flex; 
  align-items: center; 
  justify-content: center; 
  gap: 12px; 
  width: 100%; 
  position: relative; 
  overflow: hidden; 
}

.ms-login-btn:hover { 
  transform: translateY(-2px); 
  box-shadow: 0 8px 25px rgba(0, 120, 212, 0.3); 
}

.ms-login-btn:active { 
  transform: translateY(0); 
}

.ms-logo { 
  width: 20px; 
  height: 20px; 
  border-radius: 2px; 
  display: flex; 
  align-items: center; 
  justify-content: center; 
  font-size: 12px; 
  font-weight: bold; 
  color: #0078d4; 
}

.ms-logo img { 
  width: 100%; 
  height: 100%; 
  object-fit: contain; 
}

.loading { 
  display: none; 
  width: 20px; 
  height: 20px; 
  border: 2px solid #ffffff40; 
  border-top: 2px solid #ffffff; 
  border-radius: 50%; 
  animation: spin 1s linear infinite; 
}

@keyframes spin { 
  0% { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }
}

.error-message { 
  background: #fee; 
  color: #c33; 
  padding: 12px; 
  border-radius: 6px; 
  margin-top: 20px; 
  font-size: 14px; 
  display: none; 
}

.success-message { 
  background: #efe; 
  color: #3c3; 
  padding: 12px; 
  border-radius: 6px; 
  margin-top: 20px; 
  font-size: 14px; 
  display: none; 
}

.footer-text { 
  margin-top: 30px; 
  font-size: 14px; 
  color: #999; 
}

.footer-text a { 
  color: #0078d4; 
  text-decoration: none; 
}

.footer-text a:hover { 
  text-decoration: underline; 
}

@media (max-width: 480px){
  .login-container { 
    padding: 40px 30px; 
    margin: 20px; 
  }
  .login-title { 
    font-size: 24px; 
  }
}
