Panel

<!DOCTYPE html>
<html lang="es">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Panel de Control - Sistema de Rangos</title>
    <script src="https://cdn.tailwindcss.com"></script>
    <style>
        body {
            background: linear-gradient(135deg, #0f172a 0%, #581c87 50%, #0f172a 100%);
            min-height: 100vh;
        }
    </style>
</head>
<body>
    <div id="app" class="p-6">
        <!-- El contenido se cargará aquí -->
    </div>

    <script>
        // Estado de la aplicación
        let state = {
            ganancias: 785,
            mesesTranscurridos: 2,
            directosDiamante: 7,
            directos7Star: 5,
            directosAzul: 3
        };

        // Función para calcular el estado actual
        function calcularEstado() {
            if (state.directosAzul >= 3) return "Corona";
            if (state.directos7Star >= 5) return "Diamante Azul";
            if (state.directosDiamante >= 7) return "Diamante 7★";
            if (state.ganancias >= 5000) return "Diamante";
            if (state.ganancias >= 3000) return "Platino";
            if (state.ganancias >= 1500) return "Oro";
            if (state.ganancias >= 500) return "Plata";
            return "Iniciando";
        }

        // Definir las fases
        const fases = [
            { nombre: "Plata", meses: "1-2", meta: 500, tipo: "dinero", descripcion: "Mantener membresía activa" },
            { nombre: "Oro (Top)", meses: "3-5", meta: 1500, tipo: "dinero", descripcion: "Aumentar patrocinio" },
            { nombre: "Platino", meses: "6-8", meta: 3000, tipo: "dinero", descripcion: "Mentoría y duplicación" },
            { nombre: "Diamante", meses: "9-12", meta: 5000, tipo: "dinero", descripcion: "Expansión continua" },
            { nombre: "Diamante 7★", meses: "13-18", meta: 7, tipo: "directos", metaTexto: "7 directos Diamante", descripcion: "7 afiliados directos Diamante" },
            { nombre: "Diamante Azul", meses: "19-22", meta: 5, tipo: "directos7", metaTexto: "5 directos 7★", descripcion: "5 afiliados directos 7★" },
            { nombre: "Corona (Nivel 3)", meses: "23-24", meta: 3, tipo: "directosAzul", metaTexto: "3 directos Azul", descripcion: "3 afiliados directos Azul" }
        ];

        // Calcular progreso de cada fase
        function calcularProgreso(fase) {
            if (fase.tipo === "dinero") {
                return Math.min(1, state.ganancias / fase.meta);
            } else if (fase.tipo === "directos") {
                return Math.min(1, state.directosDiamante / fase.meta);
            } else if (fase.tipo === "directos7") {
                return Math.min(1, state.directos7Star / fase.meta);
            } else if (fase.tipo === "directosAzul") {
                return Math.min(1, state.directosAzul / fase.meta);
            }
            return 0;
        }

        // Verificar si está completado
        function estaCompletado(fase) {
            return calcularProgreso(fase) >= 1;
        }

        // Colores por estado
        function getColorEstado(estado) {
            const colores = {
                "Iniciando": "text-gray-600",
                "Plata": "text-gray-400",
                "Oro": "text-yellow-500",
                "Platino": "text-gray-300",
                "Diamante": "text-blue-400",
                "Diamante 7★": "text-blue-500",
                "Diamante Azul": "text-cyan-400",
                "Corona": "text-amber-400"
            };
            return colores[estado] || "text-gray-600";
        }

        // Renderizar la aplicación
        function render() {
            const estadoActual = calcularEstado();
            const completados = fases.filter(f => estaCompletado(f)).length;
            const progresoGeneral = completados / fases.length;

            const html = `
                <div class="max-w-7xl mx-auto space-y-6">
                    
                    <!-- Header -->
                    <div class="text-center mb-8">
                        <h1 class="text-4xl font-bold text-white mb-2">
                            🏆 PANEL DE CONTROL
                        </h1>
                        <p class="text-purple-200">Sistema de Seguimiento de Rangos y Metas</p>
                    </div>

                    <!-- Panel Principal -->
                    <div class="grid md:grid-cols-2 gap-6">
                        
                        <!-- Métricas Actuales -->
                        <div class="bg-white/10 backdrop-blur-lg rounded-xl p-6 border border-white/20">
                            <h2 class="text-2xl font-bold text-white mb-6">
                                📈 Métricas Actuales
                            </h2>
                            
                            <div class="space-y-4">
                                <div>
                                    <label class="text-sm text-purple-200 mb-1 block">Ganancias Actuales ($)</label>
                                    <input
                                        type="number"
                                        id="ganancias"
                                        value="${state.ganancias}"
                                        onchange="updateState('ganancias', this.value)"
                                        class="w-full bg-white/5 border border-white/20 rounded-lg px-4 py-3 text-white text-xl font-bold"
                                    />
                                </div>

                                <div>
                                    <label class="text-sm text-purple-200 mb-1 block">Meses Transcurridos</label>
                                    <input
                                        type="number"
                                        id="mesesTranscurridos"
                                        value="${state.mesesTranscurridos}"
                                        onchange="updateState('mesesTranscurridos', this.value)"
                                        class="w-full bg-white/5 border border-white/20 rounded-lg px-4 py-3 text-white"
                                    />
                                </div>

                                <div>
                                    <label class="text-sm text-purple-200 mb-1 block">Directos Diamante</label>
                                    <input
                                        type="number"
                                        id="directosDiamante"
                                        value="${state.directosDiamante}"
                                        onchange="updateState('directosDiamante', this.value)"
                                        class="w-full bg-white/5 border border-white/20 rounded-lg px-4 py-3 text-white"
                                    />
                                </div>

                                <div>
                                    <label class="text-sm text-purple-200 mb-1 block">Directos 7★</label>
                                    <input
                                        type="number"
                                        id="directos7Star"
                                        value="${state.directos7Star}"
                                        onchange="updateState('directos7Star', this.value)"
                                        class="w-full bg-white/5 border border-white/20 rounded-lg px-4 py-3 text-white"
                                    />
                                </div>

                                <div>
                                    <label class="text-sm text-purple-200 mb-1 block">Directos Azul</label>
                                    <input
                                        type="number"
                                        id="directosAzul"
                                        value="${state.directosAzul}"
                                        onchange="updateState('directosAzul', this.value)"
                                        class="w-full bg-white/5 border border-white/20 rounded-lg px-4 py-3 text-white"
                                    />
                                </div>
                            </div>
                        </div>

                        <!-- Estado Actual -->
                        <div class="bg-white/10 backdrop-blur-lg rounded-xl p-6 border border-white/20">
                            <h2 class="text-2xl font-bold text-white mb-6">
                                🎯 Estado Actual
                            </h2>
                            
                            <div class="text-center py-8">
                                <div class="${getColorEstado(estadoActual)} text-6xl font-bold mb-4">
                                    ${estadoActual}
                                </div>
                                <div class="text-6xl mb-6">🏆</div>
                            </div>

                            <div class="space-y-4">
                                <div>
                                    <div class="flex justify-between text-sm mb-2">
                                        <span class="text-purple-200">Progreso General</span>
                                        <span class="text-white font-bold">${(progresoGeneral * 100).toFixed(0)}%</span>
                                    </div>
                                    <div class="w-full bg-white/10 rounded-full h-4 overflow-hidden">
                                        <div 
                                            class="h-full bg-gradient-to-r from-green-400 to-emerald-500 transition-all duration-500"
                                            style="width: ${progresoGeneral * 100}%"
                                        ></div>
                                    </div>
                                </div>

                                <div class="grid grid-cols-2 gap-4 pt-4">
                                    <div class="bg-white/5 rounded-lg p-3 text-center">
                                        <div class="text-2xl font-bold text-white">${completados}/7</div>
                                        <div class="text-xs text-purple-200">Fases Completadas</div>
                                    </div>
                                    <div class="bg-white/5 rounded-lg p-3 text-center">
                                        <div class="text-2xl font-bold text-white">${state.mesesTranscurridos}</div>
                                        <div class="text-xs text-purple-200">Meses Activos</div>
                                    </div>
                                </div>
                            </div>
                        </div>
                    </div>

                    <!-- Tabla de Fases y Metas -->
                    <div class="bg-white/10 backdrop-blur-lg rounded-xl p-6 border border-white/20">
                        <h2 class="text-2xl font-bold text-white mb-6">FASES Y METAS</h2>
                        
                        <div class="overflow-x-auto">
                            <table class="w-full">
                                <thead>
                                    <tr class="border-b border-white/20">
                                        <th class="text-left py-3 px-4 text-purple-200 font-semibold">Hito</th>
                                        <th class="text-center py-3 px-4 text-purple-200 font-semibold">Estado</th>
                                        <th class="text-center py-3 px-4 text-purple-200 font-semibold">Meses</th>
                                        <th class="text-left py-3 px-4 text-purple-200 font-semibold">Meta/Requisito</th>
                                        <th class="text-left py-3 px-4 text-purple-200 font-semibold">Descripción</th>
                                        <th class="text-left py-3 px-4 text-purple-200 font-semibold">Progreso</th>
                                    </tr>
                                </thead>
                                <tbody>
                                    ${fases.map(fase => {
                                        const progreso = calcularProgreso(fase);
                                        const completado = estaCompletado(fase);
                                        
                                        return `
                                            <tr class="border-b border-white/10 hover:bg-white/5 transition-colors">
                                                <td class="py-4 px-4 text-white font-semibold">${fase.nombre}</td>
                                                <td class="py-4 px-4 text-center">
                                                    <span class="text-2xl ${completado ? 'text-green-400' : 'text-gray-600'}">
                                                        ${completado ? '✓' : '○'}
                                                    </span>
                                                </td>
                                                <td class="py-4 px-4 text-center text-purple-200">${fase.meses}</td>
                                                <td class="py-4 px-4 text-white">
                                                    ${fase.tipo === "dinero" ? `$${fase.meta.toLocaleString()}` : fase.metaTexto}
                                                </td>
                                                <td class="py-4 px-4 text-purple-200 text-sm">${fase.descripcion}</td>
                                                <td class="py-4 px-4">
                                                    <div class="flex items-center gap-2">
                                                        <div class="flex-1 bg-white/10 rounded-full h-2 overflow-hidden">
                                                            <div 
                                                                class="h-full transition-all duration-500 ${completado ? 'bg-green-400' : 'bg-blue-400'}"
                                                                style="width: ${progreso * 100}%"
                                                            ></div>
                                                        </div>
                                                        <span class="text-white text-sm font-semibold w-12 text-right">
                                                            ${(progreso * 100).toFixed(0)}%
                                                        </span>
                                                    </div>
                                                </td>
                                            </tr>
                                        `;
                                    }).join('')}
                                </tbody>
                            </table>
                        </div>
                    </div>

                    <!-- Consideraciones -->
                    <div class="bg-white/10 backdrop-blur-lg rounded-xl p-6 border border-white/20">
                        <h2 class="text-2xl font-bold text-white mb-6">
                            🎁 CONSIDERACIONES
                        </h2>
                        
                        <div class="grid md:grid-cols-2 gap-4">
                            <div class="bg-white/5 rounded-lg p-4">
                                <h3 class="font-bold text-green-400 mb-2">Plan Ganancia Mutua</h3>
                                <p class="text-purple-200 text-sm">Beneficios compartidos entre todos los niveles</p>
                            </div>
                            
                            <div class="bg-white/5 rounded-lg p-4">
                                <h3 class="font-bold text-blue-400 mb-2">Pionero LATAM</h3>
                                <p class="text-purple-200 text-sm">Oportunidad única para construir red y liderazgo</p>
                            </div>
                            
                            <div class="bg-white/5 rounded-lg p-4">
                                <h3 class="font-bold text-yellow-400 mb-2">Bajos Costos</h3>
                                <p class="text-purple-200 text-sm">Recompra mínima $20 USD mensuales</p>
                            </div>
                            
                            <div class="bg-white/5 rounded-lg p-4">
                                <h3 class="font-bold text-pink-400 mb-2">Premios Especiales</h3>
                                <p class="text-purple-200 text-sm">Viajes, autos y departamentos para altos rangos</p>
                            </div>
                        </div>
                    </div>

                </div>
            `;

            document.getElementById('app').innerHTML = html;
        }

        // Actualizar estado
        function updateState(key, value) {
            state[key] = Number(value);
            render();
        }

        // Renderizar por primera vez
        render();
    </script>
</body>
</html>