body {
    font-family: 'Poppins', sans-serif;
    background: #000; /* fallback background */
    margin: 0;
    height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
}
  
/* Wrapper to center the login container */
.login-wrapper {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
}
  
/* Login container with a frosted glass effect */
.login-container {
    background: rgba(255, 255, 255, 0);  
    padding: 2rem;
    border-radius: 10px;
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.1);
    backdrop-filter: blur(8px);           /* frosted glass effect */
    -webkit-backdrop-filter: blur(8px);
    border: 1px solid rgba(255, 255, 255, 0.18);
    width: 100%;
    max-width: 400px;
}
  
/* Center logo */
.login-logo {
    display: block;
    margin: 0 auto 1rem;
    max-width: 150px;
}
  
/* Login Button Style */
.btn-primary {
    background: linear-gradient(135deg, #007bff, #0056b3);
    border: none;
    border-radius: 50px;
    padding: 0.75rem 1.5rem;
    font-size: 1rem;
    font-weight: bold;
    transition: background 0.3s ease, transform 0.3s ease;
}
  
.btn-primary:hover {
    background: linear-gradient(135deg, #0056b3, #004085);
    transform: translateY(-2px);
}
  
/* Reset Password Modal Styles */
.reset-modal {
    display: none; /* hidden by default */
    position: fixed;
    z-index: 900; /* above the login container */
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    overflow: auto; /* enable scroll if needed */
    background-color: rgba(0, 0, 0, 0.5); /* semi-transparent background */
}
  
.reset-modal-content {
    background: rgba(255, 255, 255, 0.9);
    margin: 10% auto;
    padding: 2rem 1.5rem 1.5rem; 
    border-radius: 10px;
    width: 90%;
    max-width: 450px; 
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.1);
    backdrop-filter: blur(5px);
    -webkit-backdrop-filter: blur(5px);
    position: relative;
    text-align: center;
    font-family: 'Poppins', sans-serif;
}
  
.reset-close {
    color: #aaa;
    position: absolute;
    top: 10px;
    right: 15px;
    font-size: 28px;
    font-weight: bold;
    cursor: pointer;
}
  
.reset-close:hover,
.reset-close:focus {
    color: #000;
    text-decoration: none;
    cursor: pointer;
}
  
.reset-modal-content p {
    margin: 1rem 0 0;
    font-size: 1rem;
    color: #333;
}
  
/* Interactive Background Styles */
#particles-js {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    /* Background gradient */
    background: radial-gradient(ellipse at center, #ffffff 0%, #e0f7ff 100%);
    z-index: -1;
}
  
/* color of form labels and forgot password link */
.login-container .form-label {
    color: #0056b3;
}
  
.forgot-password a {
    color: #0056b3;
}

/* ============================= */
/* Night Mode adjustments for Login */
/* ============================= */
body.night-mode {
    background: #121212 !important;
    color: #ffffff;
  }
  
  body.night-mode #particles-js {
    background: transparent !important;
  }
  
  body.night-mode .login-wrapper {
    background: transparent !important;
  }
  
  body.night-mode .login-container {
    background: rgba(0, 0, 0, 0.6) !important;
    border: 1px solid rgba(255, 255, 255, 0.2) !important;
    color: #ffffff !important;
  }
  
  body.night-mode .login-logo {
    /* Change logo colour */
    /* filter: invert(1) !important; */
  }
  
  body.night-mode .form-control {
    background: #2c2c2c !important;
    color: #ffffff !important;
    border: 1px solid #444 !important;
  }
  
  body.night-mode .form-label {
    color: #ffffff !important;
  }
  
  body.night-mode .btn-primary {
    background: linear-gradient(135deg, #0d6efd, #0b5ed7) !important;
    border: none !important;
    color: #ffffff !important;
  }
  
  body.night-mode .forgot-password a {
    color: #ffffff !important;
  }
  