
        /* Color Variables for easy adjustment */
        :root {
            --primary-purple: #4d4182; /* Header/Footer background */
            --accent-orange: #ff914d;  /* Login button */
            --dark-green: #007a61;    /* Bottom footer background */
            --link-blue: #2354a7;      /* Forgot Password link */
            --text-color: #333;        /* General text color */
            --card-bg: #fff;           /* Login card background */
        }

        /* Base Styles */
        body {
            font-family: Arial, sans-serif; /* A common, clean font similar to the image */
            margin: 0;
            padding: 0;
            background-color: #f0f0f0; /* Light gray background */
            display: flex;
            flex-direction: column;
            min-height: 100vh;
        }

        /* --- Header Styling --- */
        .header {
            background-color: var(--primary-purple);
            color: white;
            padding: 20px 0;
            text-align: center;
            box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
        }

        .logo-placeholder {
            text-align: right;        /* Aligns the logo to the right */
            padding-right: 10%;       /* Mirrors original left-padding but on the right */
        }

        .logo-img {
            height: 50px;             /* Adjust this value to fit your logo's desired size */
            width: auto;              /* Maintains aspect ratio */
            display: block;
        }

        /* Hide old text logo styles (no longer needed) */
        .logo-text,
        .of-the {
            display: none;
        }

        /* Lock SVG - white, crisp */
        .lock-svg {
            width: 16px;
            height: 16px;
            fill: white;
            margin-right: 8px;
            vertical-align: middle;
        }

        /* Social SVG Icons - white, consistent size */
        .social-svg {
            width: 20px;
            height: 20px;
            fill: white;
            transition: opacity 0.2s ease;
        }

        /* --- Main Content / Login Card Styling --- */
        .login-container {
            flex-grow: 1; /* Pushes the footer to the bottom */
            display: flex;
            justify-content: center;
            padding: 20px;
            align-items: flex-start; /* Start from the top */
        }

        .login-card {
            background-color: var(--card-bg);
            border-radius: 4px;
            box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
            width: 100%;
            max-width: 400px; /* Max width for a mobile-like screen */
            padding: 20px;
            box-sizing: border-box;
        }

        .login-card h2 {
            font-size: 1.5em;
            color: var(--text-color);
            margin-top: 0;
            padding-bottom: 10px;
            border-bottom: 1px solid #ddd;
        }

        .instruction {
            font-size: 0.9em;
            color: #666;
            margin-bottom: 20px;
        }

        /* Form Elements */
        form {
            display: flex;
            flex-direction: column;
        }
        
        /* New Wrapper Style to ensure vertical stacking and proper spacing */
        .input-wrapper {
            display: flex;
            flex-direction: column;
            /* Move margin-bottom from input field to the wrapper for consistency */
            margin-bottom: 20px;
        }

        label {
            font-size: 0.9em;
            color: var(--text-color);
            margin-bottom: 5px;
            font-weight: bold;
        }

        input[type="text"], input[type="password"] {
            padding: 10px;
            /* Margin is now controlled by .input-wrapper */
            margin-bottom: 0; 
            border: 1px solid #ccc;
            border-radius: 4px;
            font-size: 1em;
            transition: border-color 0.3s;
        }

        input[type="text"]:focus, input[type="password"]:focus {
            border-color: var(--primary-purple);
            outline: none;
        }

        /* Utility class to hide elements */
        .hidden {
            display: none !important;
        }

        .login-button {
            background-color: var(--accent-orange);
            color: white;
            padding: 12px;
            border: none;
            border-radius: 4px;
            font-size: 1.1em;
            font-weight: bold;
            cursor: pointer;
            display: flex;
            justify-content: center;
            align-items: center;
            letter-spacing: 1px;
            margin-bottom: 20px;
        }

        .lock-icon {
            margin-right: 8px;
            font-size: 1.1em;
        }

        .powered-by {
            font-size: 0.8em;
            color: #666;
            margin-bottom: 15px;
            text-align: left;
        }

        .hid-logo-placeholder {
            /* A very basic attempt to mimic the 'HID' blue logo look */
            display: inline-block;
            color: white;
            background-color: var(--link-blue);
            padding: 2px 5px;
            font-weight: bold;
            font-size: 1.1em;
            border-radius: 2px;
            margin-top: 5px;
        }

        .forgot-password {
            color: var(--link-blue);
            text-decoration: none;
            font-size: 0.9em;
            font-weight: bold;
        }

        .forgot-password:hover {
            text-decoration: underline;
        }

        /* --- Footer Styling --- */
        .footer {
            text-align: center;
            color: white;
            font-size: 0.75em;
        }

        .social-links {
            background-color: var(--primary-purple);
            padding: 10px 0;
            display: flex;
            justify-content: center;
            gap: 15px;
        }

        .social-icon {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            width: 36px;
            height: 36px;
            margin: 0 6px;
            opacity: 0.8;
            transition: opacity 0.2s ease;
            color: white;
            text-decoration: none;
            background-color: rgba(255, 255, 255, 0.2); /* Circle background */
            border-radius: 50%;
            border: 1px solid white;
        }

        .social-icon:hover {
            opacity: 1;
        }

        .social-icon:hover .social-svg {
            opacity: 1;
        }

        .build-version {
            background-color: var(--dark-green);
            padding: 5px 0;
            font-weight: bold;
        }

        .copyright {
            background-color: var(--dark-green);
            padding-bottom: 10px;
        }
