  * {
            margin: 0;
            padding: 0;
            box-sizing: border-box;
            font-family: "Poppins", sans-serif;
        }

        body, html {
            height: 100%;
            overflow: hidden;
        }

        /* Background Slideshow Container */
        .slideshow-container {
            position: fixed;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            z-index: 1;
            overflow: hidden;
        }

        .slideshow-container img {
            position: absolute;
            width: 100%;
            height: 100%;
            object-fit: cover;
            filter: blur(6px) brightness(0.85);
            opacity: 0;
            transition: opacity 2s ease-in-out;
        }

        .slideshow-container img.active {
            opacity: 1;
        }

        /* Overlay for tint */
        .overlay {
            position: absolute;
            top: 0; left: 0;
            width: 100%;
            height: 100%;
            background: rgba(255,255,255,0.15);
            z-index: 2;
        }

        /* Login Card */
        .login-card-wrapper {
            position: fixed;
            top: 50%;
            left: 50%;
            transform: translate(-50%, -50%);
            z-index: 3;
            width: 100%;
            max-width: 420px;
        }

        .login-card {
            width: 100%;
            padding: 3rem 2.5rem;
            border-radius: 25px;
            background: rgba(255, 255, 255, 0.35);
            box-shadow: 0 10px 40px rgba(0, 0, 0, 0.15);
            backdrop-filter: blur(12px);
            border: 1px solid rgba(255, 255, 255, 0.35);
            text-align: center;

            opacity: 0;
            transform: translateY(30px);
            animation: fadeInUp 1s ease-out forwards;
        }

        @keyframes fadeInUp {
            from {
                opacity: 0;
                transform: translateY(30px);
            }
            to {
                opacity: 1;
                transform: translateY(0);
            }
        }

        .login-logo {
            display: flex;
            justify-content: center;
            align-items: center;
            margin-bottom: 12px;
        }

        .logo-img {
            width: 120px;
            height: auto;
            object-fit: contain;
            background: none;
            border-radius: 0;
            box-shadow: 0 0 20px rgba(255, 255, 255, 0.25);
            animation: fadeIn 1.5s ease-in-out;
            filter: drop-shadow(0 0 15px rgba(255, 255, 255, 0.4));
        }

        @keyframes fadeIn {
            from { opacity: 0; transform: translateY(-10px); }
            to { opacity: 1; transform: translateY(0); }
        }

       .login-title {
	    font-size: 1.8rem;
	    font-weight: 600;
	    letter-spacing: 1px;
	    color: #004d40; /* dark teal for contrast */
	    margin-bottom: 6px;
	    text-shadow: 0 2px 4px rgba(0,0,0,0.4);
	}
	
	.login-subtitle {
	    color: #00695c; /* slightly lighter dark teal */
	    margin-bottom: 2.2rem;
	    font-size: 0.95rem;
	    text-shadow: 0 1px 3px rgba(0,0,0,0.3);
	}

        .form-group {
            margin-bottom: 1.8rem;
            text-align: left;
            position: relative;
        }

        /* Input Labels */
		.form-group label {
		    display: block;
		    margin-bottom: 6px;
		    font-weight: 500;
		    color: #004d40; /* dark teal for labels */
		    text-shadow: 0 1px 2px rgba(255,255,255,0.25);
		}

        input {
            width: 100%;
            padding: 12px 14px;
            font-size: 1rem;
            border: none;
            border-radius: 10px;
            background: rgba(255,255,255,0.9);
            box-shadow: 0 2px 5px rgba(0,0,0,0.05);
            transition: all 0.3s ease;
        }

        input:focus {
            outline: none;
            background: #fff;
            box-shadow: 0 0 0 2px #00968830;
        }
        /* Input Placeholders */
		input::placeholder {
		    color: #00695c88; /* muted teal placeholder */
		    font-weight: 400;
		}
        /* Password toggle styles */
        .password-wrapper {
            position: relative;
        }

        .toggle-password {
            position: absolute;
            top: 50%;
            right: 12px;
            transform: translateY(-50%);
            cursor: pointer;
            font-size: 1.2rem;
            color: #555;
            user-select: none;
        }

        button.login-btn {
            width: 100%;
            padding: 12px;
            font-size: 1rem;
            border: none;
            border-radius: 12px;
            background: linear-gradient(135deg, #80cbc4, #009688);
            color: white;
            font-weight: 600;
            letter-spacing: 0.5px;
            cursor: pointer;
            transition: all 0.3s ease;
        }

        button.login-btn:hover {
            background: linear-gradient(135deg, #a5d6a7, #26a69a);
            transform: translateY(-2px);
        }

        .footer-text {
            margin-top: 1.5rem;
            font-size: 0.9rem;
            color: #fff;
            text-align: center;
        }

        .footer-text a {
            color: #e0f2f1;
            text-decoration: none;
            font-weight: 500;
        }

        .footer-text a:hover {
            text-decoration: underline;
        }

        @media (max-width: 480px) {
            .login-card {
                width: 90%;
                padding: 2.5rem 1.5rem;
            }
        }
        .login-error-banner {
  background-color: #ffdddd;
  color: #b30000;
  border: 1px solid #f5c2c2;
  border-left: 5px solid #ff4d4d;
  padding: 12px 16px;
  border-radius: 6px;
  font-weight: 500;
  margin-bottom: 15px;
  display: flex;
  align-items: center;
  justify-content: center;
  animation: fadeIn 0.5s ease-in;
}

.error-icon {
  margin-right: 8px;
  font-size: 18px;
}

@keyframes fadeIn {
  from { opacity: 0; transform: translateY(-5px); }
  to { opacity: 1; transform: translateY(0); }
}

/* Optional auto-hide fade-out effect */
.fade-out {
  animation: fadeOut 0.5s ease-in forwards;
}

@keyframes fadeOut {
  from { opacity: 1; transform: translateY(0); }
  to { opacity: 0; transform: translateY(-5px); }
}
        
        