        /* Definir variables CSS para modo claro y oscuro */
        :root {
            /* Modo claro (valores actuales) */
            --bg-main: #fafaf9; /* Stone-50 */
            --text-main: #1c1917; /* Stone-900 */
            --bg-card: white;
            --text-card: #374151; /* Stone-700 o 800 */
            --border-card: #e5e7eb; /* Stone-200 */
            --hif-accent: #d97706; /* Amber-600 */
            --hif-accent-hover: #b45d05; /* Variante oscura */
            --text-hif-accent: var(--hif-accent);
            --bg-hif-accent: var(--hif-accent);
            --border-hif-accent: var(--hif-accent);
            --fill-hif-accent: var(--hif-accent);
            --fill-stone-900: #1c1917;
            --bg-stone-50: #fafaf9;
            --text-stone-900: #1c1917;
            --text-stone-700: #374151;
            --text-stone-500: #78716c;
            --border-stone-200: #e7e5e4;
            --bg-stone-900: #111827; /* Stone-900 oscuro */
            --text-white: white;
            --bg-white: white;
            --chatbot-icon-color: white;
        }

        /* Dark mode removed — site uses single light theme */

        body {
            font-family: 'Inter', sans-serif;
            background-color: var(--bg-main);
            color: var(--text-main);
            transition: background-color 0.3s ease, color 0.3s ease; /* Suavizar transición */
        }

        html {
            scroll-behavior: smooth;
        }

        /* Custom Utilities usando variables */
        .text-hif-accent { color: var(--text-hif-accent); }
        .bg-hif-accent { background-color: var(--bg-hif-accent); }
        .border-hif-accent { border-color: var(--border-hif-accent); }
        .fill-hif-accent { fill: var(--fill-hif-accent); }
        .fill-stone-900 { fill: var(--fill-stone-900); }
        .bg-stone-50 { background-color: var(--bg-stone-50); }
        .text-stone-900 { color: var(--text-stone-900); }
        .text-stone-700 { color: var(--text-stone-700); }
        .text-stone-500 { color: var(--text-stone-500); }
        .border-stone-200 { border-color: var(--border-stone-200); }
        .bg-stone-900 { background-color: var(--bg-stone-900); }
        .text-white { color: var(--text-white); }
        .bg-white { background-color: var(--bg-white); }

        /* Chart Container */
        .chart-container {
            position: relative;
            width: 100%;
            max-width: 600px;
            margin-left: auto;
            margin-right: auto;
            height: 250px; 
            max-height: 300px;
        }
        
        /* Animations */
        .fade-in { animation: fadeIn 0.5s ease-in-out; }
        @keyframes fadeIn {
            from { opacity: 0; transform: translateY(10px); }
            to { opacity: 1; transform: translateY(0); }
        }

        .step-active {
            background-color: #d97706;
            color: white;
            border-color: #d97706;
        }
        .step-inactive {
            background-color: white;
            color: #78716c;
            border-color: #e7e5e4;
        }

        /* WhatsApp Chatbot Styles */
        .whatsapp-button-container {
            position: fixed;
            bottom: 20px;
            right: 20px;
            z-index: 1001; /* Slightly lower than expanded chat header if needed */
        }

        .whatsapp-button {
            width: 60px;
            height: 60px;
            border-radius: 50%; /* Circular button */
            background-color: #25D366; /* WhatsApp green */
            color: white;
            display: flex;
            align-items: center;
            justify-content: center;
            cursor: pointer;
            box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
            transition: transform 0.3s ease, box-shadow 0.3s ease; /* Specific transitions for hover */
            position: relative;
        }

        .whatsapp-button:hover {
            transform: scale(1.1);
            box-shadow: 0 6px 12px rgba(0, 0, 0, 0.3);
        }

        .whatsapp-button i {
            font-size: 28px;
        }

        .whatsapp-svg-icon {
            width: 28px; /* Aproximadamente el tamaño de text-2xl */
            height: 28px;
            color: white; /* Asegura que el color sea blanco */
            pointer-events: none; /* Para que no interfiera con clics */
        }

        .intro-message {
            position: absolute;
            bottom: calc(100% + 10px); /* Position above the button */
            right: 0;
            background-color: #25D366;
            color: white;
            padding: 8px 16px;
            border-radius: 18px;
            font-size: 14px;
            max-width: 200px;
            opacity: 0;
            transform: translateY(10px);
            transition: opacity 0.3s ease, transform 0.3s ease;
            white-space: nowrap;
            overflow: hidden;
            text-overflow: ellipsis;
            pointer-events: none; /* Prevent interaction while visible */
            z-index: 999; /* Behind button */
        }

         .intro-message.show {
             opacity: 1;
             transform: translateY(0);
         }

        .bubbles-container {
            position: absolute;
            bottom: calc(100% + 10px); /* Position above the button */
            right: 0;
            display: flex;
            flex-direction: column;
            align-items: flex-end; /* Align bubbles to the right */
            gap: 8px; /* Space between bubbles */
            opacity: 0;
            transform: translateY(10px);
            transition: opacity 0.3s ease, transform 0.3s ease;
            z-index: 998; /* Behind intro message */
            pointer-events: none; /* Prevent interaction while visible */
        }

        .bubbles-container.show {
             opacity: 1;
             transform: translateY(0);
        }

        .message-bubble {
            background-color: #d1f0e0; /* Light green background for messages */
            color: #333;
            padding: 8px 12px;
            border-radius: 18px;
            font-size: 12px;
            max-width: 180px;
            box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
            animation: floatUp 3s infinite ease-in; /* Apply float animation */
        }

        @keyframes floatUp {
            0% {
                transform: translateY(0) translateX(0);
                opacity: 0.8;
            }
            50% {
                 transform: translateY(-5px) translateX(2px); /* Move slightly up and right */
                 opacity: 1;
            }
             100% {
                 transform: translateY(-10px) translateX(4px); /* Move further up and right */
                 opacity: 0;
             }
        }

        /* Expanded Chat Window */
        .whatsapp-chat-window {
            position: fixed;
            bottom: 20px;
            right: 20px;
            width: 300px;
            height: 400px;
            background: white;
            border-radius: 12px;
            box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
            z-index: 1000; /* Behind the button when not expanded */
            display: none; /* Hidden by default */
            flex-direction: column;
            overflow: hidden; /* Contain any overflow during transitions if needed */
        }

        .whatsapp-chat-window:not(.expanded) {
             display: none; /* Explicitly ensure it's hidden when not expanded */
        }

        .whatsapp-chat-window.expanded {
            display: flex; /* Show when expanded */
        }

        .chat-header {
            background-color: #25D366;
            color: white;
            padding: 10px;
            text-align: center;
            border-top-left-radius: 12px;
            border-top-right-radius: 12px;
            position: relative; /* So close button can be positioned inside */
        }

        .close-button {
             position: absolute;
             top: 10px;
             right: 10px;
             background: none;
             border: none;
             color: white;
             font-size: 18px;
             cursor: pointer;
        }

        .chat-body {
            padding: 15px;
            overflow-y: auto;
            flex-grow: 1; /* Take remaining vertical space */
        }

        .initial-messages {
            margin-bottom: 10px; /* Space below initial messages */
        }

        .initial-message {
            background-color: #f0f0f0; /* Grey background for initial messages */
            padding: 8px 12px;
            border-radius: 18px;
            margin-bottom: 5px;
            font-size: 13px;
            max-width: 80%; /* Limit width */
            text-align: left;
        }

        .start-chat-button-container {
            display: flex;
            justify-content: center;
            margin-top: 10px; /* Space above the button */
        }

        .start-chat-button {
            background-color: #25D366;
            color: white;
            border: none;
            padding: 8px 16px;
            border-radius: 18px;
            cursor: pointer;
            font-size: 14px;
        }

        /* HIF Labs Chatbot Styles */
        .hiflabs-chatbot-container {
            position: fixed;
            bottom: 20px;
            right: 20px;
            z-index: 10000; /* Aseguramos un z-index alto */
            display: flex;
            align-items: flex-end;
            justify-content: flex-end;
            flex-direction: column;
            gap: 10px;
        }

        .hiflabs-chatbot-icon {
            width: 60px; /* Ajustado al tamaño del botón anterior */
            height: 60px; /* Ajustado al tamaño del botón anterior */
            border-radius: 50%;
            cursor: pointer;
            position: relative;
            transition: transform 0.2s ease;
            box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
            background-color: var(--hif-accent); /* Color principal de HIF Labs */
            display: flex;
            align-items: center;
            justify-content: center;
        }

        .hiflabs-chatbot-icon:hover {
            transform: scale(1.05);
            background-color: var(--hif-accent-hover); /* Tonos más oscuros en hover */
        }

        /* Eliminamos .hiflabs-hover-message ya que lo quitamos del HTML */

        .hiflabs-svg-icon {
            width: 28px; /* Tamaño del icono SVG */
            height: 28px;
            color: white; /* Color blanco para el icono */
            pointer-events: none; /* No interfiere con clics */
        }

        .hiflabs-active-indicator {
            position: absolute;
            bottom: 5px;
            right: 5px;
            width: 16px;
            height: 16px;
            background-color: #00ff00; /* Verde activo */
            border-radius: 50%;
            border: 2px solid white;
            animation: pulse 2s infinite;
        }

        @keyframes pulse {
            0% {
                box-shadow: 0 0 0 0 rgba(0, 255, 0, 0.7);
            }
            70% {
                box-shadow: 0 0 0 10px rgba(0, 255, 0, 0);
            }
            100% {
                box-shadow: 0 0 0 0 rgba(0, 255, 0, 0);
            }
        }

        .hiflabs-message-bubble {
            background: var(--hif-accent); /* Use theme accent so bubble matches icon in light/dark */
            color: var(--text-white); /* Texto blanco sobre fondo principal */
            border-radius: 20px 20px 20px 5px;
            padding: 12px 16px;
            max-width: 250px;
            box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
            position: relative;
            opacity: 0;
            transform: translateY(10px) scale(0.8);
            transition: all 0.3s ease;
            font-family: 'Inter', sans-serif; /* Usando la fuente de tu sitio */
            font-size: 14px;
            line-height: 1.4;
        }

        .hiflabs-message-bubble.show {
            opacity: 1;
            transform: translateY(0) scale(1);
        }

        .hiflabs-message-bubble::after {
            content: '';
            position: absolute;
            bottom: -8px;
            right: 20px;
            width: 0;
            height: 0;
            border-left: 8px solid transparent;
            border-right: 8px solid transparent;
            border-top: 8px solid var(--hif-accent); /* Match accent variable */
        }

        .hiflabs-typing-animation {
            display: flex;
            align-items: center;
            gap: 4px;
        }

        .hiflabs-typing-dot {
            width: 6px;
            height: 6px;
            border-radius: 50%;
            background-color: white; /* Puntos blancos sobre fondo naranja */
            animation: typing 1.4s infinite ease-in-out;
        }

        .hiflabs-typing-dot:nth-child(1) {
            animation-delay: -0.32s;
        }

        .hiflabs-typing-dot:nth-child(2) {
            animation-delay: -0.16s;
        }

        @keyframes typing {
            0%, 80%, 100% {
                transform: scale(0.8);
                opacity: 0.5;
            }
            40% {
                transform: scale(1);
                opacity: 1;
            }
        }

        /* Responsive */
        @media screen and (max-width: 768px) {
            .hiflabs-chatbot-container {
                bottom: 15px;
                right: 15px;
            }

            .hiflabs-chatbot-icon {
                width: 60px; /* Mantenido el tamaño en móvil */
                height: 60px;
            }

            .hiflabs-message-bubble {
                max-width: 220px;
                font-size: 13px;
                padding: 10px 14px;
            }

            /* Eliminamos .hiflabs-hover-message responsive */
        }

        /* Dark-mode overrides removed — using single theme styles only */