/* ================= BASE ================= */
body{
    margin:0;
    padding:0;
    height:100%;
    background:#f5eee4;
    font-family:system-ui, -apple-system, Segoe UI, Roboto, Arial;
    overflow-x:hidden;
}


/* Animation */
/* ================= HEADER ANIMATION ================= */
@keyframes wipeIn {
    from{ transform:translateX(-25px); opacity:0; }
    to{ transform:translateX(0); opacity:1; }
}
/* ================= CARD ANIMATION ================= */
@keyframes wipeUp {
    from{ transform:translatey(25px); opacity:0; }
    to{ transform:translateX(0); opacity:1; }
}

/* ================= SIDEBAR ================= */
.sidebar{
    width:80px;
    height:100vh;
    position:fixed;
    top:0;
    left:-80px;
    background:#f5eee4;
    transition:0.15s ease;
    z-index:1001;

    display:flex;
    flex-direction:column;
    align-items:stretch;
}

.sidebar.active{
    left:0;
}

/* ================= PROFILE ================= */

.profile-default-icon{
    font-size:38px;
}

.sidebar-profile{
    height:90px;
    display:flex;
    align-items:center;
    justify-content:center;
    cursor:pointer;
}

.sidebar-profile .material-symbols-rounded{
    font-size:38px;
}


#profileIcon{
    width:45px;
    height:45px;
    border-radius:50%;
    overflow:hidden;
    display:flex;
    align-items:center;
    justify-content:center;
}


#profileIcon img{
    width:100%;
    height:100%;
    object-fit:cover;
    border-radius:50%;
}


#profileIcon .profile-initial{
    width:45px;
    height:45px;
    border-radius:50%;
    
    display:flex;
    align-items:center;
    justify-content:center;
    
    font-size:16px;
    font-weight:600;

    background:#7a1230;
    color:white;
}

    .overlay {
    position: fixed;
    inset: 0;
    background: rgba(0,0,0,0.3);
    display: none;
    z-index: 1000;
}
.overlay.active {
    display: block;
}


/* ================= MENU ITEM ================= */
.menu-item{
    height:75px;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:3px;

    cursor:pointer;
    transition:0.2s ease;
}

.menu-item .material-symbols-rounded{
    font-size:26px;
    color:#111;
}

.label{
    font-size:11px;
    color:#333;
}

/* ================= HOVER ================= */
.menu-item:hover{
    background:#f0dde4;
}

/* ================= ACTIVE ================= */
.menu-item.active{
    background:#f0dde4;
    color:#850a37;
}

/* ================= HEADER ================= */
.header{
    background:#f5eee3;
    padding:16px 18px;
    display:flex;
    align-items:center;
    gap:12px;
    border-bottom:1px solid #ddd;
    
}

.logo{
    font-weight:600;
    color:#7a1230;
    font-size:20px;
    animation:wipeIn 1.5s ease;
}

.hamburger{
    cursor:pointer;
    font-size:22px;
    color:#7a1230;
    animation:wipeIn 1.5s ease;
}

/* ================= PDF CARD ================= */


/* ================= HOME SOCIAL ================= */
.home-social{
    position:fixed;
    bottom:2px;
    left:50%;
    transform:translateX(-50%);
    display:flex;
    gap:4px;
    padding:8px 12px;
}

.social-icon{
    display:flex;
    flex-direction:column;
    align-items:center;
    font-size:10px;
    cursor:pointer;
    padding:6px 10px;
    border-radius:100px;
    min-width:45px;
    color: rgba(0, 0, 0, 0.801);
    text-decoration:none;
}

.social-icon i{
    font-size:20px;
}


/* ================= FIX Z-INDEX ================= */
#app{ position:relative; z-index:1; }
.card{ position:relative; z-index:1; }
.sidebar{ z-index:1001; }

/* HERO */

.hero-card{
    margin:20px;
    padding:28px;
    border-radius:24px;
    background:rgba(255,255,255,0.35);
    backdrop-filter:blur(14px);
    -webkit-backdrop-filter:blur(14px);
    box-shadow:0 10px 30px rgba(0,0,0,0.2);
    text-align:left;
}

.hero-badge{
    display:inline-block;
    padding:8px 14px;
    border-radius:999px;
    font-size:12px;
    font-weight:600;
    margin-bottom:16px;
    background:rgba(0,0,0,0.05);
}

.hero-card h1{
    margin:0;
    font-size:28px;
    line-height:1.2;
}

.hero-card p{
    color:#777;
    margin-top:12px;
    line-height:1.6;
}

.hero-btn{
    margin-top:20px;
    border:none;
    padding:14px 24px;
    border-radius:14px;
    cursor:pointer;
    font-size:15px;
    font-weight:600;
}

/* QUICK MENU */

.quick-section{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:15px;
    padding:0 20px;
}

.quick-card{
    background:rgba(255,255,255,0.35);
    backdrop-filter:blur(14px);
    -webkit-backdrop-filter:blur(14px);
    border-radius:20px;
    padding:22px;
    box-shadow:0 10px 30px rgba(0,0,0,0.2);
    cursor:pointer;
    transition:0.3s;
}

.quick-card:hover{
    transform:translateY(-4px);
}

.quick-card span{
    font-size:38px;
    margin-bottom:12px;
}

.quick-card h3{
    margin:0;
    font-size:18px;
}

.quick-card p{
    margin-top:8px;
    color:#777;
    font-size:14px;
}

.quick-card.live{
    border:1px solid #ff3b3b;
    background:rgba(255,0,0,0.05);
    position:relative;
    overflow:hidden;
}

/* blinking LIVE dot */
.quick-card.live::before{
    content:"";
    position:absolute;
    top:10px;
    right:10px;
    width:10px;
    height:10px;
    background:red;
    border-radius:50%;
    animation:blink 1s infinite;
}

@keyframes blink{
    0%{opacity:1;}
    50%{opacity:0.2;}
    100%{opacity:1;}
}
/* ================= PREMIUM FUTURISTIC HERO ================= */

.home-hero{

    position:relative;
    overflow:hidden;

    margin:0;
    padding:25px 28px;

  

    background:#5f0e25;
    color:white;

}



/* Cahaya halus bergerak */

.home-hero::before{

    content:"";

    position:absolute;

    width:450px;
    height:450px;

    top:-250px;
    right:-180px;

    background:
    radial-gradient(
    circle,
    rgba(255,255,255,.25),
    rgba(255,255,255,.08) 35%,
    transparent 70%
    );

    filter:blur(20px);

    animation:
    heroGlow 8s ease-in-out infinite;

}


/* Light beam */

.home-hero::after{

    content:"";

    position:absolute;

    top:-50%;
    left:-100px;

    width:200px;
    height:200%;

    background:
    linear-gradient(
    90deg,
    transparent,
    rgba(255,255,255,.15),
    transparent
    );

    transform:rotate(25deg);

    animation:
    lightMove 7s ease-in-out infinite;

}



.home-hero>*{

    position:relative;
    z-index:2;

}



@keyframes heroGlow{

0%,100%{

transform:
translate(0,0)
scale(1);

opacity:.5;

}


50%{

transform:
translate(-50px,50px)
scale(1.25);

opacity:.8;

}

}



@keyframes lightMove{

0%{

left:-150px;

opacity:0;

}


20%{

opacity:1;

}


70%{

opacity:1;

}


100%{

left:120%;

opacity:0;

}

}




.hero-tag{
    display:inline-block;
    background:rgba(255,255,255,.18);
    padding:7px 14px;
    border-radius:999px;
    font-size:11px;
    letter-spacing:1px;
    margin-bottom:18px;
}

.home-hero h1{
    font-size:20px;
    line-height:1.15;
    margin:0;
}

.home-hero p{
    opacity:.85;
    line-height:1.6;
    margin-top:15px;
}

.home-hero button{
    margin-top:20px;
    border:none;
    background:white;
    color:#7a1230;
    padding:14px 22px;
    border-radius:999px;
    font-weight:600;
    display:flex;
    align-items:center;
    gap:8px;
    cursor:pointer;
}


