/* Preloader Styles */
        #preloader {
            position: fixed;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            background: linear-gradient(135deg, #0f0c29 0%, #302b63 50%, #24243e 100%); /* Match body background */
            display: flex;
            justify-content: center;
            align-items: center;
            z-index: 9999; /* Ensure it's on top */
            opacity: 1;
            visibility: visible;
            transition: opacity 0.5s ease-out, visibility 0.5s ease-out;
        }

        #preloader.hide {
            opacity: 0;
            visibility: hidden;
        }

        .spinner {
            border: 4px solid rgba(255, 255, 255, 0.3);
            border-top: 4px solid #a29bfe; /* Accent color for spinner */
            border-radius: 50%;
            width: 50px;
            height: 50px;
            animation: spin 1s linear infinite;
        }

        @keyframes spin {
            0% { transform: rotate(0deg); }
            100% { transform: rotate(360deg); }
        }

        /* General Body and Container Styles - Consistent with other pages */
        * {
            margin: 0;
            padding: 0;
            box-sizing: border-box;
            font-family: 'Poppins', sans-serif;
        }
        
        body {
            background: linear-gradient(135deg, #0f0c29 0%, #302b63 50%, #24243e 100%);
            color: #fff;
            line-height: 1.6;
            min-height: 100vh;
            display: flex;
            flex-direction: column;
            overflow-x: hidden; /* Prevent horizontal scroll */
            justify-content: center; /* Center content vertically */
            align-items: center; /* Center content horizontally */
        }
        
        .login-wrapper {
            display: flex;
            justify-content: center;
            align-items: center;
            flex-grow: 1; /* Allows it to take available space */
            padding: 20px; /* Add some padding around the card */
            width: 100%; /* Ensure it takes full width */
        }

        .login-card {
            background: rgba(255, 255, 255, 0.08); /* Dark semi-transparent */
            -webkit-backdrop-filter: blur(8px);
            backdrop-filter: blur(8px);
            border: 1px solid rgba(255, 255, 255, 0.15);
            border-radius: 1rem; /* Consistent with other cards */
            padding: 40px;
            box-shadow: 0 8px 25px rgba(0, 0, 0, 0.3); /* Stronger shadow */
            max-width: 450px; /* Limit width for better readability */
            width: 100%;
            text-align: center;
            transform: scale(0.95);
            opacity: 0;
            animation: scaleIn 0.5s ease-out forwards;
            animation-delay: 0.3s;
        }

        @keyframes scaleIn {
            from {
                opacity: 0;
                transform: scale(0.95);
            }
            to {
                opacity: 1;
                transform: scale(1);
            }
        }
        
        .login-logo {
            width: 80px; /* Adjust size as needed */
            height: 80px;
            object-fit: contain;
            animation: pulse 2s infinite; /* Add a subtle pulse animation */
        }

        @keyframes pulse {
            0% { transform: scale(1); }
            50% { transform: scale(1.05); }
            100% { transform: scale(1); }
        }

        .login-title {
            font-size: 2.2rem; /* Consistent with headings */
            color: #a29bfe; /* Accent color */
            margin-bottom: 0.5rem;
            font-weight: 700;
            text-shadow: 0 2px 8px rgba(0,0,0,0.2);
        }

        .login-subtitle {
            font-size: 1rem;
            color: rgba(255, 255, 255, 0.8);
            margin-bottom: 2rem;
        }

        /* Form styling overrides for Bootstrap */
        .form-label {
            color: rgba(255, 255, 255, 0.8); /* Muted white for labels */
            font-weight: 500;
            text-align: left; /* Align labels to the left */
            width: 100%;
            margin-bottom: 0.5rem;
        }

        .form-control {
            background-color: rgba(255, 255, 255, 0.1); /* Consistent background */
            border: 1px solid rgba(255, 255, 255, 0.3); /* Lighter border */
            color: #fff; /* White text input */
            padding: 0.75rem 1rem; /* Consistent padding */
            border-radius: 0.5rem; /* Consistent border-radius */
            font-size: 1rem;
            transition: all 0.3s ease;
        }

        .form-control::placeholder {
            color: rgba(255, 255, 255, 0.6); /* Muted placeholder text */
        }

        .form-control:focus {
            outline: none;
            border-color: #a29bfe; /* Accent color on focus */
            box-shadow: 0 0 0 0.25rem rgba(162, 155, 254, 0.25); /* Accent shadow on focus */
            background-color: rgba(255, 255, 255, 0.15); /* Slightly lighter on focus */
        }

        .form-check-input {
            background-color: rgba(255, 255, 255, 0.2);
            border: 1px solid rgba(255, 255, 255, 0.4);
            transition: all 0.3s ease;
        }

        .form-check-input:checked {
            background-color: #a29bfe;
            border-color: #a29bfe;
        }

        .form-check-input:focus {
            box-shadow: 0 0 0 0.25rem rgba(162, 155, 254, 0.25);
        }

        .form-check-label {
            color: rgba(255, 255, 255, 0.8);
            font-size: 0.95rem;
        }

        .btn-primary {
            background: #a29bfe; /* Primary button color */
            color: white;
            border: none;
            padding: 0.75rem 1.5rem; /* Consistent button padding */
            border-radius: 0.5rem; /* Consistent button border-radius */
            font-size: 1.05rem; /* Consistent font size */
            font-weight: 600;
            cursor: pointer;
            transition: all 0.3s ease;
            box-shadow: 0 4px 10px rgba(0,0,0,0.2); /* Consistent shadow */
            text-transform: uppercase;
            letter-spacing: 0.5px;
        }
        
        .btn-primary:hover {
            background: #764ba2; /* Darker shade on hover */
            transform: translateY(-2px);
            box-shadow: 0 6px 15px rgba(0,0,0,0.3); /* Stronger shadow on hover */
        }
        
        .forgot-password-link {
            color: rgba(255, 255, 255, 0.7);
            text-decoration: none;
            font-size: 0.9rem;
            transition: color 0.3s ease;
        }

        .forgot-password-link:hover {
            color: #a29bfe; /* Accent color on hover */
        }

        /* Footer Styles - Consistent with other pages */
        .login-footer {
            background: rgba(0, 0, 0, 0.6);
            padding: 18px 0; /* Consistent with other footers */
            width: 100%;
            -webkit-backdrop-filter: blur(10px);
            backdrop-filter: blur(10px);
            border-top: 1px solid rgba(255, 255, 255, 0.1); /* Consistent border */
            color: #ffffff; /* Ensure text is white */
        }
        
        .footer-link {
            color: rgba(255,255,255,0.6);
            text-decoration: none;
            font-size: 0.9rem;
            transition: color 0.3s ease;
        }
        
        .footer-link a {
            color: rgba(255,255,255,0.6);
            text-decoration: none;
            transition: color 0.3s ease;
        }

        .footer-link a:hover {
            color: #a29bfe; /* Accent color on hover */
        }

        /* Responsive adjustments */
        @media (max-width: 576px) {
            .login-card {
                padding: 25px;
                border-radius: 0.75rem;
            }
            .login-title {
                font-size: 1.8rem;
            }
            .login-subtitle {
                font-size: 0.9rem;
            }
            .login-logo {
                width: 60px;
                height: 60px;
            }
            .btn-primary {
                padding: 0.6rem 1rem;
                font-size: 1rem;
            }
        }
        /* password eye icon fix */
#togglePassword{
  right: 0.85rem !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  z-index: 5;
  width: 38px;
  height: 38px;
  display:flex;
  align-items:center;
  justify-content:center;
}

#passwordInput{
  padding-right: 3.2rem !important;
}
/* remove browser default password reveal icons */
input[type="password"]::-ms-reveal,
input[type="password"]::-ms-clear {
    display: none !important;
}

input[type="password"]::-webkit-textfield-decoration-container {
    display: none !important;
}

input[type="password"]::-webkit-credentials-auto-fill-button {
    visibility: hidden; display:none!important;
}

input[type="password"]::-webkit-password-toggle {
    display:none!important;
}
#togglePassword{
  right:14px;
  top:50%;
  transform:translateY(-50%);
  width:32px;
  height:32px;
  display:flex;
  align-items:center;
  justify-content:center;
  z-index:10;
}

#passwordInput{
  padding-right:3.2rem !important;
}
