/* ==========================================================
   HERO SECTION
========================================================== */

.hero{
    position:relative;
    min-height:100vh;
    display:flex;
    align-items:center;
    overflow:hidden;
    background:
    radial-gradient(circle at top right,#22c55e15,transparent 30%),
    radial-gradient(circle at bottom left,#84cc1615,transparent 35%),
    #071018;
    color:#fff;
    padding:120px 0 80px;
}

.hero-container{
    display:grid;
    grid-template-columns:1.1fr .9fr;
    align-items:center;
    gap:80px;
    position:relative;
    z-index:5;
}

.hero-content{
    max-width:650px;
}

.hero-badge{

    display:inline-flex;

    align-items:center;

    gap:10px;

    padding:10px 18px;

    border-radius:50px;

    background:rgba(255,255,255,.08);

    border:1px solid rgba(255,255,255,.12);

    backdrop-filter:blur(20px);

    font-size:.9rem;

    margin-bottom:28px;

    color:#d8e5dc;

}

.hero-badge i{

    color:#84CC16;

}

.hero h1{

    font-size:72px;

    line-height:1.05;

    font-weight:800;

    font-family:Poppins,sans-serif;

    margin-bottom:25px;

}

.hero h1 span{

    color:#84CC16;

    display:block;

}

.hero p{

    font-size:18px;

    line-height:1.9;

    color:#c8d1d7;

    margin-bottom:40px;

}

.hero-buttons{

    display:flex;

    gap:20px;

    margin-bottom:60px;

}

.btn-primary{

    display:inline-flex;

    align-items:center;

    gap:10px;

    background:linear-gradient(135deg,#22c55e,#2f855a);

    color:#fff;

    padding:18px 34px;

    border-radius:12px;

    font-weight:700;

    transition:.35s;

    box-shadow:0 15px 35px rgba(34,197,94,.25);

}

.btn-primary:hover{

    transform:translateY(-5px);

}

.btn-secondary{

    display:inline-flex;

    align-items:center;

    justify-content:center;

    padding:18px 34px;

    border-radius:12px;

    border:1px solid rgba(255,255,255,.18);

    color:#fff;

    backdrop-filter:blur(20px);

    transition:.35s;

}

.btn-secondary:hover{

    background:rgba(255,255,255,.08);

}

.hero-stats{

    display:flex;

    gap:60px;

}

.stat h2{

    font-size:34px;

    color:#84CC16;

}

.stat span{

    color:#b8c4cb;

    font-size:14px;

}

.hero-dashboard{

    position:relative;

}

.dashboard-window{

    background:rgba(255,255,255,.06);

    border:1px solid rgba(255,255,255,.10);

    backdrop-filter:blur(25px);

    border-radius:24px;

    padding:30px;

    box-shadow:0 30px 80px rgba(0,0,0,.35);

}

/* ==========================================================
   DASHBOARD
========================================================== */

.dashboard-header{

    display:flex;

    justify-content:space-between;

    align-items:center;

    margin-bottom:28px;

}

.dashboard-header strong{

    font-size:18px;

    color:#ffffff;

    font-weight:700;

}

.online{

    display:flex;

    align-items:center;

    gap:8px;

    color:#4ADE80;

    font-size:14px;

    font-weight:600;

}

.online span{

    width:10px;

    height:10px;

    border-radius:50%;

    background:#4ADE80;

    box-shadow:0 0 18px #4ADE80;

    animation:pulseOnline 2s infinite;

}

.dashboard-cards{

    display:grid;

    grid-template-columns:repeat(2,1fr);

    gap:18px;

}

.dashboard-card{

    padding:22px;

    border-radius:18px;

    background:rgba(255,255,255,.05);

    border:1px solid rgba(255,255,255,.08);

    transition:.35s;

    cursor:pointer;

}

.dashboard-card:hover{

    transform:translateY(-8px);

    background:rgba(255,255,255,.08);

    box-shadow:0 20px 40px rgba(0,0,0,.25);

}

.dashboard-card small{

    display:block;

    color:#aeb8b7;

    margin-bottom:10px;

    font-size:13px;

}

.dashboard-card h3{

    font-size:28px;

    color:#ffffff;

    font-weight:700;

}

.green{

    color:#4ADE80 !important;

}

.progress{

    width:100%;

    height:8px;

    background:rgba(255,255,255,.08);

    border-radius:20px;

    overflow:hidden;

    margin-top:15px;

}

.progress div{

    height:100%;

    background:linear-gradient(90deg,#22c55e,#84CC16);

    border-radius:20px;

}

/* ==========================================================
   FLOATING CARDS
========================================================== */

.floating-card{

    position:absolute;

    display:flex;

    align-items:center;

    gap:10px;

    padding:15px 20px;

    border-radius:16px;

    background:rgba(255,255,255,.08);

    border:1px solid rgba(255,255,255,.12);

    backdrop-filter:blur(20px);

    color:#fff;

    font-weight:600;

    box-shadow:0 20px 45px rgba(0,0,0,.25);

}

.floating-card i{

    color:#84CC16;

}

.card-one{

    top:-20px;

    right:-40px;

    animation:floatY 5s ease-in-out infinite;

}

.card-two{

    bottom:120px;

    left:-50px;

    animation:floatY 6s ease-in-out infinite;

}

.card-three{

    bottom:-30px;

    right:30px;

    animation:floatY 7s ease-in-out infinite;

}

/* ==========================================================
   HERO BACKGROUND
========================================================== */

.hero-gradient{

    position:absolute;

    border-radius:50%;

    filter:blur(150px);

    opacity:.20;

    z-index:1;

}

.hero-gradient-1{

    width:550px;

    height:550px;

    background:#22C55E;

    top:-120px;

    right:-120px;

    animation:blobMove 14s infinite ease-in-out;

}

.hero-gradient-2{

    width:500px;

    height:500px;

    background:#84CC16;

    bottom:-200px;

    left:-120px;

    animation:blobMove 18s infinite ease-in-out;

}

.hero-grid-pattern{

    position:absolute;

    inset:0;

    background-image:

    linear-gradient(rgba(255,255,255,.04) 1px,transparent 1px),

    linear-gradient(90deg,rgba(255,255,255,.04) 1px,transparent 1px);

    background-size:45px 45px;

    opacity:.30;

}

/* ==========================================================
   SCROLL INDICATOR
========================================================== */

.scroll-indicator{

    position:absolute;

    left:50%;

    bottom:35px;

    transform:translateX(-50%);

    display:flex;

    flex-direction:column;

    align-items:center;

    gap:10px;

    color:#b6c2c9;

    z-index:5;

    animation:scrollFloat 2s infinite;

}

.scroll-indicator i{

    font-size:20px;

    color:#84CC16;

}

/* ==========================================================
   ANIMATIONS
========================================================== */

@keyframes floatY{

    0%{

        transform:translateY(0);

    }

    50%{

        transform:translateY(-15px);

    }

    100%{

        transform:translateY(0);

    }

}

@keyframes pulseOnline{

    0%{

        box-shadow:0 0 0 rgba(74,222,128,.6);

    }

    50%{

        box-shadow:0 0 20px rgba(74,222,128,1);

    }

    100%{

        box-shadow:0 0 0 rgba(74,222,128,.6);

    }

}

@keyframes blobMove{

    0%{

        transform:translate(0,0) scale(1);

    }

    50%{

        transform:translate(40px,-50px) scale(1.15);

    }

    100%{

        transform:translate(0,0) scale(1);

    }

}

@keyframes scrollFloat{

    0%{

        transform:translate(-50%,0);

    }

    50%{

        transform:translate(-50%,10px);

    }

    100%{

        transform:translate(-50%,0);

    }

}