
        :root {
            --tu-blue: #00A6E3;
            --tu-orange: #F37021;
            --tu-dark-blue: #0A1F44;
        }

        /* CRITICAL: Prevent scrolling on the whole page */
        body, html {
            height: 100%;
            margin: 0;
            overflow: hidden; 
            font-family: 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
        }

        .login-container {
            height: 100vh;
            display: flex;
        }

        /* Left Side: Form */
        .form-side {
            background-color: #ffffff;
            display: flex;
            justify-content: center;
            align-items: center;
            flex: 1;
        }

        .login-form-wrapper {
            width: 100%;
            max-width: 400px;
            padding: 2rem;
        }

        /* Right Side: Branding */
        .brand-side {
            background: linear-gradient(135deg, var(--tu-dark-blue) 0%, #162d55 100%);
            color: white;
            display: flex;
            flex-direction: column;
            justify-content: center;
            align-items: center;
            text-align: center;
            padding: 2rem;
            flex: 1;
            border-left: 5px solid var(--tu-orange);
        }

        .brand-logo {
            max-height: 220px; /* Constrained height to prevent overflow */
            width: auto;
            margin-bottom: 1.5rem;
        }

        .btn-login {
            background-color: var(--tu-orange);
            border: none;
            color: white;
            padding: 10px;
            font-weight: 600;
        }

        .btn-login:hover {
            background-color: #d86018;
            color: white;
        }

        .system-title {
            font-size: 1.8rem;
            font-weight: 700;
            color: var(--tu-blue);
            margin-bottom: 0.5rem;
        }

        .office-info {
            font-size: 1.1rem;
            border-top: 1px solid rgba(255,255,255,0.2);
            padding-top: 1rem;
        }

        /* Handle smaller vertical screens */
        @media (max-height: 600px) {
            .brand-logo { max-height: 120px; }
            .system-title { font-size: 1.2rem; }
        }

        /* Responsive: Stack on mobile, but allow scroll only on mobile */
        @media (max-width: 991px) {
            body, html { overflow: auto; }
            .login-container { flex-direction: column-reverse; height: auto; }
            .brand-side { height: auto; padding: 3rem 1rem; }
            .form-side { padding: 3rem 1rem; }
        }
    