:root {
            --primary-color: #4CAF50;
            --secondary-color: #3f51b5;
            --text-color: #333;
            --light-bg: #f5f5f5;
            --white: #ffffff;
            --border-color: #e0e0e0;
            --danger-color: #f44336;
            --shadow-light: 0 2px 10px rgba(0, 0, 0, 0.08);
            --shadow-medium: 0 8px 25px rgba(0, 0, 0, 0.15);
            --accent-gradient: linear-gradient(to top right, #ff00cc, #3333ff);
            --google-blue: #4285F4;
            --yellowgreen-color: #9ACD32;
            --input-border-visible: #b0b0b0;
            --link-color: #FF9800;
            --secondary-text-color: #666;
            --button-bg-color: #3f51b5;
        }

        body {
            font-family: 'Roboto', sans-serif;
            margin: 0;
            display: flex;
            justify-content: center;
            align-items: center;
            min-height: 100vh;
            background-image: url('https://placehold.co/1920x1080/000000/FFFFFF?text=Background+Image'); /* REPLACE WITH PATH TO trim2.jpg */
            background-size: cover;
            background-position: center;
            background-repeat: no-repeat;
            color: var(--text-color);
            line-height: 1.6;
        }

        .login-wrapper {
            background-color: var(--white);
            border-radius: 20px;
            box-shadow: var(--shadow-medium);
            width: 90%;
            max-width: 700px;
            height: 550px;
            display: flex;
            overflow: hidden;
        }

        .left-panel {
            width: 40%;
            background: var(--accent-gradient);
            color: var(--white);
            display: flex;
            flex-direction: column;
            justify-content: space-between;
            padding: 40px;
            box-sizing: border-box;
            text-align: left;
        }

        .left-panel .quote-top {
            font-size: 0.9em;
            text-transform: uppercase;
            letter-spacing: 1px;
            opacity: 0.8;
        }

        .left-panel .main-text {
            font-size: 2.5em;
            font-weight: bold;
            line-height: 1.2;
            margin-bottom: 20px;
        }

        .left-panel .sub-text {
            font-size: 0.8em;
            line-height: 1.5;
            opacity: 0.9;
        }

        .right-panel {
            width: 60%;
            background-color: var(--white);
            padding: 40px 30px;
            box-sizing: border-box;
            display: flex;
            flex-direction: column;
            justify-content: flex-start; /* Adjusted to ensure logo is at top */
            align-items: center;
            text-align: center;
            overflow-y: auto; /* Enable vertical scrolling */
            max-height: 100%; /* Ensure it respects the wrapper height */
        }

        .right-panel .logo {
            margin-bottom: 25px;
            font-size: 1.8em; /* Increased font size for better visibility */
            font-weight: bold;
            color: var(--secondary-color);
            display: flex;
            align-items: center;
            gap: 8px;
            background-color: rgba(255, 255, 255, 0.9); /* Added slight background to ensure visibility */
            padding: 5px 10px;
            border-radius: 5px;
        }

        .right-panel .logo i {
            color: var(--primary-color);
        }

        .right-panel h2 {
            color: var(--yellowgreen-color);
            margin-bottom: 10px;
            font-size: 2.2em;
            font-weight: 600;
            line-height: 1.2;
            text-align: center;
        }

        .right-panel p.subtitle {
            color: var(--yellowgreen-color);
            font-size: 0.85em;
            margin-bottom: 25px;
            text-align: center;
        }

        .input-field {
            margin-bottom: 18px;
            text-align: left;
            width: 100%;
            max-width: 280px;
            position: relative;
        }

        .input-field label {
            display: block;
            margin-bottom: 8px;
            font-weight: bold;
            color: var(--secondary-color);
            font-size: 0.9em;
        }

        .input-field input[type="email"],
        .input-field input[type="password"] {
            width: 100%;
            padding: 12px 15px;
            border: 1px solid var(--input-border-visible);
            border-radius: 8px;
            font-size: 1em;
            box-sizing: border-box;
            transition: border-color 0.3s ease, box-shadow 0.3s ease;
        }

        .input-field input:focus {
            outline: none;
            border-color: var(--primary-color);
            box-shadow: 0 0 0 3px rgba(76, 175, 80, 0.2);
        }

        .input-field .fa-eye {
            position: absolute;
            right: 15px;
            top: calc(50% + 12px);
            transform: translateY(-50%);
            cursor: pointer;
            color: #999;
        }

        .form-options {
            display: flex;
            justify-content: flex-start;
            align-items: center;
            font-size: 0.85em;
            margin-bottom: 20px;
            width: 100%;
            max-width: 280px;
        }

        .form-options .remember-me {
            display: flex;
            align-items: center;
            gap: 5px;
            color: var(--secondary-text-color);
        }

        .form-options .forgot-password a {
            color: var(--link-color);
            text-decoration: none;
            transition: color 0.2s ease;
        }

        .form-options .forgot-password a:hover {
            color: var(--button-bg-color);
            text-decoration: underline;
        }

        .login-btn {
            width: 100%;
            max-width: 280px;
            background-color: var(--primary-color);
            color: var(--white);
            padding: 15px 20px;
            border: none;
            border-radius: 8px;
            font-size: 1.1em;
            font-weight: bold;
            cursor: pointer;
            transition: background-color 0.3s ease, transform 0.2s ease, box-shadow 0.2s ease;
            margin-bottom: 20px;
            box-shadow: 0 4px 15px rgba(76, 175, 80, 0.3);
        }

        .login-btn:hover {
            background-color: var(--secondary-color);
            transform: translateY(-2px);
            box-shadow: 0 6px 20px rgba(63, 81, 181, 0.4);
        }

        .error {
            color: var(--danger-color);
            font-size: 0.85em;
            margin-bottom: 20px;
            width: 100%;
            max-width: 280px;
            text-align: left;
        }

        .bottom-links {
            display: flex;
            flex-direction: column;
            align-items: center;
            width: 100%;
            max-width: 280px;
            gap: 10px;
            margin-top: 10px;
        }

        .bottom-links a {
            font-size: 0.85em;
            color: var(--link-color);
            text-decoration: none;
            font-weight: 500;
            transition: color 0.2s ease;
        }

        .bottom-links a:hover {
            color: var(--primary-color);
            text-decoration: underline;
        }

        .fa-arrow-left {
            position: absolute;
            top: 30px;
            right: 30px;
            font-size: 1.2em;
            color: #999;
            cursor: pointer;
            z-index: 10; /* Ensure it stays above other content */
        }

        @media (max-width: 768px) {
            .login-wrapper {
                flex-direction: column;
                height: auto;
                max-width: 400px;
                border-radius: 15px;
            }
            .left-panel {
                width: 100%;
                height: 200px;
                padding: 30px;
                text-align: center;
                justify-content: center;
            }
            .left-panel .main-text {
                font-size: 2em;
            }
            .left-panel .sub-text {
                font-size: 0.8em;
            }
            .right-panel {
                width: 100%;
                padding: 30px 25px;
                overflow-y: auto;
                max-height: 100%;
            }
            .right-panel h2 {
                font-size: 2em;
            }
            .input-field, .form-options, .login-btn, .bottom-links {
                max-width: 100%;
            }
        }

        @media (max-width: 480px) {
            .login-wrapper {
                border-radius: 10px;
            }
            .left-panel {
                height: 180px;
                padding: 20px;
            }
            .left-panel .main-text {
                font-size: 1.6em;
            }
            .right-panel {
                padding: 25px 15px;
                overflow-y: auto;
                max-height: 100%;
            }
            .right-panel h2 {
                font-size: 1.6em;
            }
            .input-field input {
                padding: 10px 12px;
                font-size: 0.9em;
            }
            .login-btn {
                padding: 12px 15px;
                font-size: 1em;
            }
            .form-options, .bottom-links {
                font-size: 0.8em;
            }
        }