*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

body{
    min-height:100vh;
    font-family:Inter,sans-serif;
    background:radial-gradient(circle at top,#0b2a60 0%,#06132e 35%,#030814 100%);
    overflow-x:hidden;
}

/* LOGO */

.heroLogo{
    position:absolute;
    top:25px;
    left:60px;

    color:#fff;
    font-size:34px;
    font-weight:900;
    letter-spacing:3px;

    z-index:100;
}

/* CONTENEDOR */

.heroLogin{
    width:100%;
    max-width:1300px;
    margin:auto;
    min-height:100vh;

    display:flex;
    align-items:center;
    justify-content:space-between;

    gap:50px;
    padding:80px 30px 30px;
}

/* LADO IZQUIERDO */

.heroContent{
    flex:1;
    max-width:560px;
}

.heroBadge{
    display:inline-block;

    padding:10px 20px;

    border-radius:999px;

    border:1px solid rgba(0,180,255,.25);
    background:rgba(0,180,255,.08);

    color:#7fd5ff;
    font-weight:700;

    margin-bottom:22px;
}

.heroContent h1{
    color:#fff;

    font-size:72px;
    font-weight:900;
    line-height:.95;
    letter-spacing:-2px;

    margin-bottom:20px;
}

.heroContent h1 span{
    display:block;

    background:linear-gradient(
    90deg,
    #00d0ff,
    #4c84ff,
    #8b5fff);

    -webkit-background-clip:text;
    -webkit-text-fill-color:transparent;
}

.heroContent p{
    color:#b7c7e8;

    font-size:18px;
    line-height:1.8;

    margin-bottom:28px;
}

/* BOTONES */

.heroButtons{
    display:flex;
    gap:14px;

    margin-bottom:20px;
}

.btnPrimary,
.btnSecondary{
    padding:16px 30px;

    text-decoration:none;
    border-radius:14px;

    font-weight:700;
}

.btnPrimary{
    color:#fff;

    background:linear-gradient(
    135deg,
    #00bfff,
    #336dff);

    box-shadow:
    0 0 30px rgba(0,180,255,.30);
}

.btnSecondary{
    color:#fff;

    border:1px solid rgba(255,255,255,.08);

    background:
    rgba(255,255,255,.04);
}

/* COMUNIDAD */

.communityWrapper{
    margin:0 0 25px;
}

.communityBtn{
    display:inline-flex;
    align-items:center;
    justify-content:center;

    text-decoration:none;

    padding:14px 24px;

    border-radius:14px;

    color:#fff;

    font-size:15px;
    font-weight:800;

    background:linear-gradient(
    135deg,
    #25D366,
    #128C7E);

    box-shadow:
    0 0 25px rgba(37,211,102,.25);

    transition:.25s;
}

.communityBtn:hover{
    transform:translateY(-2px);
}

/* ESTADISTICAS */

.heroStats{
    display:flex;
    gap:15px;
}

.stat{
    padding:14px 18px;

    border-radius:16px;

    background:
    rgba(255,255,255,.03);

    border:
    1px solid rgba(255,255,255,.05);
}

.stat strong{
    display:block;

    color:#fff;

    font-size:30px;
    font-weight:900;
}

.stat span{
    color:#93a7d3;
    font-size:14px;
}

/* PANEL DERECHO */

.heroVisual{
    flex:1;

    display:flex;
    justify-content:center;
    align-items:center;

    position:relative;
}

.orb{
    width:260px;
    height:260px;

    position:absolute;

    border-radius:50%;

    background:radial-gradient(
    circle,
    rgba(0,210,255,.9),
    rgba(0,90,255,.35),
    transparent 75%);

    filter:blur(20px);

    animation:floatOrb 6s ease-in-out infinite;
}

.dashboardCard{
    width:400px;

    position:relative;
    z-index:2;

    padding:24px;

    border-radius:24px;

    background:
    rgba(10,15,35,.75);

    backdrop-filter:blur(25px);

    border:
    1px solid rgba(255,255,255,.08);

    box-shadow:
    0 0 50px rgba(0,120,255,.18);
}

.featuredTag{
    background:rgba(255,180,0,.08);

    border:1px solid rgba(255,180,0,.2);

    color:#ffd36b;

    padding:10px 14px;

    border-radius:12px;

    margin-bottom:16px;

    font-size:14px;
    font-weight:800;
}

/* PRODUCTOS */

.topProducts{
    display:flex;
    flex-direction:column;

    gap:12px;

    margin-bottom:18px;
}

.topItem{
    display:flex;
    align-items:center;

    gap:14px;

    padding:14px;

    border-radius:16px;

    background:
    rgba(255,255,255,.03);

    border:
    1px solid rgba(255,255,255,.05);

    transition:.25s;
}

.topItem:hover{
    border-color:#00d0ff;
    transform:translateY(-2px);
}

.topItem img{
    width:58px;
    height:58px;

    border-radius:14px;

    object-fit:cover;

    flex-shrink:0;
}

.topItem strong{
    display:block;

    color:#fff;

    font-size:20px;
    font-weight:800;

    margin-bottom:4px;
}

.topItem small{
    color:#9eb6e3;
    line-height:1.4;
}

/* CATEGORIAS */

.miniFeatures{
    display:flex;
    flex-wrap:wrap;

    gap:8px;
}

.miniFeatures span{
    padding:8px 12px;

    border-radius:999px;

    background:
    rgba(255,255,255,.04);

    color:#b8c8ea;

    font-size:13px;
}

/* DIVIDER */

.divider{
    height:1px;

    background:
    rgba(255,255,255,.08);

    margin:18px 0;
}

/* CLIENTES */

.clientesActivos{
    display:flex;
    align-items:center;

    gap:10px;

    color:#b8c8ea;
}

.pulse{
    width:10px;
    height:10px;

    border-radius:50%;

    background:#22ff66;

    animation:pulse 1.5s infinite;
}

/* ANIMACIONES */

@keyframes floatOrb{
    0%{transform:translateY(0);}
    50%{transform:translateY(-15px);}
    100%{transform:translateY(0);}
}

@keyframes pulse{
    0%{
        box-shadow:0 0 0 0 rgba(34,255,102,.7);
    }
    70%{
        box-shadow:0 0 0 10px rgba(34,255,102,0);
    }
    100%{
        box-shadow:0 0 0 0 rgba(34,255,102,0);
    }
}

/* ==========================
   MOBILE / TABLET
========================== */

@media(max-width:1000px){

    .heroLogo{
        position:relative;
        top:auto;
        left:auto;
        display:block;
        text-align:center;
        margin:25px 0 20px;
        font-size:28px;
    }

    .heroLogin{
        flex-direction:column;
        align-items:center;
        justify-content:flex-start;

        min-height:auto;

        gap:25px;

        padding:15px 14px 40px;
    }

    .heroContent{
        width:100%;
        max-width:100%;
        text-align:center;
    }

    .heroBadge{
        margin-bottom:18px;
    }

    .heroContent h1{
        font-size:52px;
        line-height:1.05;
        margin-bottom:18px;
    }

    .heroContent p{
        font-size:16px;
        line-height:1.7;
        max-width:700px;
        margin:0 auto 25px;
    }

    /* BOTONES JUNTOS */

    .heroButtons{
        display:flex;
        flex-direction:row;
        gap:10px;
        width:100%;
        margin-bottom:14px;
    }

    .btnPrimary,
    .btnSecondary{
        flex:1;
        min-width:0;
        padding:15px 10px;
        text-align:center;
        font-size:15px;
    }

    /* WHATSAPP */

    .communityWrapper{
        margin-bottom:22px;
    }

    .communityBtn{
        width:auto;
        min-width:280px;
        padding:14px 22px;
    }

    /* STATS */

    .heroStats{
        justify-content:center;
        gap:10px;
        flex-wrap:wrap;
    }

    .stat{
        min-width:95px;
    }

    /* CARD */

    .heroVisual{
        width:100%;
        margin-top:0;
    }

    .dashboardCard{
        width:100%;
        max-width:420px;
        margin:auto;
    }

    .orb{
        display:none;
    }
}

/* ==========================
   CELULARES
========================== */

@media(max-width:600px){

    .heroLogin{
        padding:10px 16px 40px;
    }

    .heroContent{
        width:100%;
    }

    .heroButtons{
        display:flex;
        flex-direction:row;
        gap:10px;
    }

    .btnPrimary,
    .btnSecondary{
        flex:1;
        width:auto;
    }

    .communityBtn{
        width:auto;
        max-width:300px;
    }

    /* BOTON WHATSAPP MÁS CORTO */

    .communityBtn{
        width:auto;
        min-width:unset;
        max-width:320px;
        padding:13px 18px;
        font-size:14px;
    }

    .heroStats{
        gap:8px;
    }

    .stat{
        padding:12px 14px;
        min-width:88px;
    }

    .stat strong{
        font-size:22px;
    }

    .topItem strong{
        font-size:17px;
    }

    .topItem small{
        font-size:12px;
    }

    .dashboardCard{
        padding:16px;
        border-radius:20px;
    }
}
.heroVisual{
    flex:1;
    display:flex;
    justify-content:center;
    align-items:flex-start; /* antes center */
    position:relative;
}
