
        body {
            font-family: 'Plus Jakarta Sans', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
        }

        #logo-img {
            animation: pulso 4s 1.2s ease-in-out infinite;
            filter: drop-shadow(0 4px 14px rgba(0, 0, 0, 0.25));
        }

        @keyframes pulso {

            0%,
            100% {
                filter: drop-shadow(0 4px 14px rgba(0, 0, 0, 0.25));
            }

            50% {
                filter: drop-shadow(0 6px 24px rgba(14, 165, 233, 0.6));
            }
        }

        /* ── Animação de Preenchimento Completo (Inspirada no AuthSwitch) ── */
        .auth-brand-panel {
            position: relative;
            overflow: hidden;
            background-color: #050d1a;
            /* Fundo base escuro de alto contraste para evidenciar o preenchimento */
        }

        /* Camada 1: Onda Vanguardista de Preenchimento (Azul Petróleo / Slate Profundo) */
        .auth-fill-wave-secondary {
            position: absolute;
            inset: 0;
            width: 100%;
            height: 100%;
            background: linear-gradient(135deg, #0369a1 0%, #1e3a8a 50%, #090d16 100%);
            clip-path: circle(0% at 0% 0%);
            pointer-events: none;
            z-index: 1;
        }

        .auth-fill-wave-secondary.animating-load {
            animation: authWaveSecondary 1.05s cubic-bezier(0.16, 1, 0.3, 1) forwards;
        }

        .auth-fill-wave-secondary.animating-submit {
            animation: authWaveSecondarySubmit 0.95s cubic-bezier(0.16, 1, 0.3, 1) forwards;
        }

        @keyframes authWaveSecondary {
            0% {
                clip-path: circle(0% at 0% 0%);
            }

            100% {
                clip-path: circle(240% at 0% 0%);
            }
        }

        @keyframes authWaveSecondarySubmit {
            0% {
                clip-path: circle(0% at 0% 0%);
            }

            100% {
                clip-path: circle(240% at 0% 0%);
            }
        }

        /* Camada 2: Onda Principal de Preenchimento Vibrante (Tech Cyan para Cobalt Blue do GTI) */
        .auth-fill-surge {
            position: absolute;
            inset: 0;
            width: 100%;
            height: 100%;
            background: linear-gradient(135deg, #38bdf8 0%, #0ea5e9 22%, #2563eb 48%, #1d4ed8 72%, #0f172a 100%);
            filter: drop-shadow(0 0 24px rgba(14, 165, 233, 0.65));
            clip-path: circle(0% at 0% 0%);
            pointer-events: none;
            z-index: 2;
        }

        .auth-fill-surge.animating-load {
            animation: authFillEntrance 1.25s 0.08s cubic-bezier(0.16, 1, 0.3, 1) forwards;
        }

        .auth-fill-surge.animating-submit {
            animation: authFillEntranceSubmit 1.05s 0.05s cubic-bezier(0.16, 1, 0.3, 1) forwards;
        }

        @keyframes authFillEntrance {
            0% {
                clip-path: circle(0% at 0% 0%);
                opacity: 0.85;
            }

            5% {
                clip-path: circle(6% at 0% 0%);
                opacity: 1;
            }

            100% {
                clip-path: circle(240% at 0% 0%);
                opacity: 1;
            }
        }

        @keyframes authFillEntranceSubmit {
            0% {
                clip-path: circle(0% at 0% 0%);
                opacity: 0.9;
            }

            5% {
                clip-path: circle(6% at 0% 0%);
                opacity: 1;
            }

            100% {
                clip-path: circle(240% at 0% 0%);
                opacity: 1;
            }
        }

        /* Camada 3: Ondas Curvas Orgânicas Decorativas */
        .auth-curved-arcs {
            position: absolute;
            inset: 0;
            width: 100%;
            height: 100%;
            pointer-events: none;
            z-index: 3;
            opacity: 0;
            animation: arcsFadeIn 1.2s 0.35s ease-out forwards;
        }

        @keyframes arcsFadeIn {
            from {
                opacity: 0;
                transform: scale(0.96) translate(-8px, -8px);
            }

            to {
                opacity: 0.85;
                transform: scale(1) translate(0, 0);
            }
        }

        /* Camada de conteúdo da marca */
        .auth-brand-content {
            position: relative;
            z-index: 10;
            animation: brandContentFadeIn 0.8s 0.25s cubic-bezier(0.16, 1, 0.3, 1) both;
        }

        @keyframes brandContentFadeIn {
            from {
                opacity: 0;
                transform: translateY(16px) scale(0.98);
            }

            to {
                opacity: 1;
                transform: translateY(0) scale(1);
            }
        }

        /* Animação do Painel do Formulário */
        .auth-form-panel {
            animation: formPanelFadeIn 0.8s 0.15s cubic-bezier(0.16, 1, 0.3, 1) both;
        }

        @keyframes formPanelFadeIn {
            from {
                opacity: 0;
                transform: translateX(20px);
            }

            to {
                opacity: 1;
                transform: translateX(0);
            }
        }

        /* Onda de transição sutil restrita exclusivamente ao botão Entrar ao submeter */
        .submit-ripple-overlay {
            position: absolute;
            top: 0;
            right: 0;
            bottom: 0;
            left: 0;
            width: 100%;
            height: 100%;
            border-radius: inherit;
            background: linear-gradient(135deg, rgba(255, 255, 255, 0.28), rgba(255, 255, 255, 0.08));
            transform-origin: left center;
            transform: scaleX(0);
            opacity: 0;
            pointer-events: none;
            z-index: 1;
            transition: transform 0.32s cubic-bezier(0.16, 1, 0.3, 1), opacity 0.3s ease;
        }

        .btn-login.submit-ripple-active .submit-ripple-overlay,
        .submit-ripple-active .submit-ripple-overlay {
            transform: scaleX(1);
            opacity: 1;
        }

        /* Botão Login refinado */
        .btn-login {
            position: relative;
            overflow: hidden;
            transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
        }

        .btn-login::before {
            content: '';
            position: absolute;
            top: 50%;
            left: 50%;
            width: 140%;
            height: 240%;
            background: radial-gradient(circle, rgba(255, 255, 255, 0.28) 0%, transparent 60%);
            transform: translate(-50%, -50%) scale(0);
            transition: transform 0.5s ease-out;
            pointer-events: none;
        }

        .btn-login:hover {
            transform: translateY(-2px);
            box-shadow: 0 10px 24px -6px rgba(14, 165, 233, 0.45);
        }

        .btn-login:hover::before {
            transform: translate(-50%, -50%) scale(1);
        }

        .btn-login:active {
            transform: translateY(0);
            box-shadow: 0 4px 12px -2px rgba(14, 165, 233, 0.4);
        }

        /* Link Esqueci Minha Senha */
        .forgot-password-link {
            transition: all 0.25s ease;
        }

        .forgot-password-link:hover {
            transform: translateX(3px);
        }

        .forgot-password-link .arrow-icon {
            transition: transform 0.25s ease;
        }

        .forgot-password-link:hover .arrow-icon {
            transform: translateX(4px);
        }

        /* Respeito a preferência de redução de movimento */
        @media (prefers-reduced-motion: reduce) {

            #logo-img,
            .auth-fill-wave-secondary,
            .auth-fill-surge,
            .auth-curved-arcs,
            .auth-brand-content,
            .auth-form-panel,
            .btn-login,
            .forgot-password-link {
                animation: none !important;
                transition: none !important;
                clip-path: none !important;
                transform: none !important;
                opacity: 1 !important;
            }

            .submit-ripple-overlay {
                display: none !important;
                opacity: 0 !important;
                animation: none !important;
                transition: none !important;
                transform: none !important;
            }
        }
    
