﻿body {
    font-family: 'Open Sans', sans-serif;
}

h1, h2, h3, h4, h5, h6 {
    font-family: 'IBM Plex Sans', sans-serif;
}

.gradient-title {
    background: linear-gradient(135deg, #0085FF 0%, #00c1ff 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

.gradient-title-glow {
    background: linear-gradient(135deg, #0085FF 0%, #00c1ff 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    filter: drop-shadow(0 0 20px rgba(0, 133, 255, 0.4));
}

.gradient-bg {
    background: linear-gradient(135deg, #268eea 0%, #00c1ff 100%);
}

.gradient-bg-dark {
    background: linear-gradient(135deg, #0085FF 0%, #268eea 100%);
}

@keyframes float {
    0%, 100% {
        transform: translateY(0px);
    }

    50% {
        transform: translateY(-10px);
    }
}

.float-animation {
    animation: float 4s ease-in-out infinite;
}

@keyframes fadeInUp {
    from {
        opacity: 0;
        transform: translateY(30px);
    }

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

.fade-in-up {
    animation: fadeInUp 0.6s ease-out;
}

.hover-lift {
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

    .hover-lift:hover {
        transform: translateY(-6px);
        box-shadow: 0 20px 40px rgba(0, 193, 255, 0.15);
    }

.card-border {
    border: 1px solid rgba(0, 193, 255, 0.1);
}

    .card-border:hover {
        border-color: rgba(0, 193, 255, 0.3);
    }

.glow-box {
    box-shadow: 0 0 40px rgba(0, 193, 255, 0.15);
}

.text-gradient-green {
    background: linear-gradient(135deg, #56e16a 0%, #31a331 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

/* Animación de columnas apareciendo (Excel) */
@keyframes slideInColumn {
    from {
        opacity: 0;
        transform: translateX(-20px);
    }

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

/* Animación de campos de formulario apareciendo */
@keyframes slideInField {
    from {
        opacity: 0;
        transform: translateY(20px);
    }

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

/* Animación de dashboard sections */
@keyframes fadeInScale {
    from {
        opacity: 0;
        transform: scale(0.9);
    }

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

.excel-column {
    animation: slideInColumn 0.5s ease-out forwards;
    opacity: 0;
}

.form-field {
    animation: slideInField 0.5s ease-out forwards;
    opacity: 0;
}

.excel-column {
    opacity: 0;
    transform: translateX(-20px);
}

.form-field {
    opacity: 0;
    transform: translateY(20px);
}

.dashboard-section {
    opacity: 0;
    transform: translateY(20px);
}

/* Animación con iluminación para Excel columns */
@keyframes slideInColumnHighlight {
    0% {
        opacity: 0;
        transform: translateX(-20px);
    }

    20% {
        opacity: 1;
        transform: translateX(0);
        background-color: rgba(59, 130, 246, 0.2);
    }

    100% {
        opacity: 1;
        transform: translateX(0);
        background-color: transparent;
    }
}

/* Animación con iluminación para Form fields */
@keyframes slideInFieldHighlight {
    0% {
        opacity: 0;
        transform: translateY(20px);
    }

    20% {
        opacity: 1;
        transform: translateY(0);
        box-shadow: 0 0 20px rgba(59, 130, 246, 0.5);
    }

    100% {
        opacity: 1;
        transform: translateY(0);
        box-shadow: none;
    }
}

/* Animación de flecha de evolución */
@keyframes arrowPulse {
    0%, 100% {
        transform: translateX(0) scale(1);
        opacity: 1;
    }

    50% {
        transform: translateX(10px) scale(1.1);
        opacity: 0.8;
    }
}

.evolution-arrow {
    animation: arrowPulse 2s ease-in-out infinite;
}

/* Animación de advertencia roja pulsante */
@keyframes warningPulse {
    0%, 100% {
        transform: scale(1);
        opacity: 1;
    }

    50% {
        transform: scale(1.1);
        opacity: 0.8;
    }
}

.warning-badge {
    animation: warningPulse 2s ease-in-out infinite;
}

/* Animación de indicador verde pulsante */
@keyframes successPulse {
    0%, 100% {
        transform: scale(1);
        opacity: 1;
    }

    50% {
        transform: scale(1.05);
        opacity: 0.9;
    }
}

.success-badge {
    animation: successPulse 2s ease-in-out infinite;
}

/* Animación de iluminación (highlight) para columnas y campos */
@keyframes highlightFlash {
    0% {
        background-color: transparent;
        box-shadow: none;
    }

    50% {
        background-color: rgba(0, 133, 255, 0.2);
        box-shadow: 0 0 20px rgba(0, 133, 255, 0.5);
    }

    100% {
        background-color: transparent;
        box-shadow: none;
    }
}

.highlight-animation {
    animation: highlightFlash 0.8s ease-in-out;
}

/* Estilos mejorados para botones del dashboard */
.dashboard-button {
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
    transition: all 0.3s ease;
}

    .dashboard-button:hover {
        transform: translateY(-2px);
        box-shadow: 0 6px 20px rgba(0, 133, 255, 0.3);
    }

.dashboard-button-secondary {
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.05);
    transition: all 0.3s ease;
}

    .dashboard-button-secondary:hover {
        transform: translateY(-2px);
        box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
    }

/* Estilos para secciones personalizadas */
.custom-section {
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
    border: 2px dashed rgba(255, 255, 255, 0.3);
    position: relative;
    overflow: hidden;
}

    .custom-section::before {
        content: '';
        position: absolute;
        top: -50%;
        right: -50%;
        width: 200%;
        height: 200%;
        background: radial-gradient(circle, rgba(255,255,255,0.1) 0%, transparent 70%);
        animation: customGlow 3s ease-in-out infinite;
    }

@keyframes customGlow {
    0%, 100% {
        opacity: 0.5;
        transform: rotate(0deg);
    }

    50% {
        opacity: 1;
        transform: rotate(180deg);
    }
}

.custom-badge {
    background: linear-gradient(135deg, #ffd700 0%, #ffed4e 100%);
    animation: badgePulse 2s ease-in-out infinite;
}

@keyframes badgePulse {
    0%, 100% {
        transform: scale(1);
    }

    50% {
        transform: scale(1.05);
    }
}

/* WhatsApp Floating Button */
.float-whatsapp {
    position: fixed;
    width: 60px;
    height: 60px;
    bottom: 30px;
    right: 30px;
    z-index: 100;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.float-whatsapp:hover {
    transform: scale(1.1);
}

.float-whatsapp img {
    width: 100%;
    height: 100%;
    border-radius: 50%;
    box-shadow: 0 4px 20px rgba(42, 168, 26, 0.4);
}
