.progress{
    border-radius: 30px;
    overflow: hidden;
    background: #e9ecef;
}

.progress-bar{
    font-size: 13px;
    font-weight: 600;
    display: flex;
    align-items: center;
    justify-content: center;
}

/* SOAL */
.nomor-wrapper{
    display:grid;
    grid-template-columns:repeat(auto-fit, minmax(40px, 40px));
    gap:8px;
    justify-content:center;
}

.nomor-soal{
    width:40px;
    height:40px;
    border-radius:50%;
    border:1px solid #ced4da;

    display:flex;
    justify-content:center;
    align-items:center;

    cursor:pointer;
    font-weight:600;

    transition:.2s;
}

.nomor-soal:hover{
    transform:scale(1.05);
}

.nomor-soal.active{
    background:#007bff;
    color:#fff;
    border-color:#007bff;
}

.nomor-soal.selesai{
    background:#28a745;
    color:#fff;
    border-color:#28a745;
}

.text-pernyataan{
    font-weight: normal !important;
    text-align: justify;
    display: block;
    line-height: 1.7;
    font-size: 15px;
}

.pilihan-card{
    cursor:pointer;
    border:0.5px solid #ffffff;
    transition:all .2s ease;
}

.pilihan-card:hover{
    border-color:#ffffff;
}

.selected-card{
    border:1px solid #56f47b !important;
    background:#f8fff9;
}


/* DASHBOARD */
.dashboard-wrapper{
    max-width:450px;
    margin:auto;
}

/* HEADER */
.usage-header{
    background:linear-gradient(135deg,#5f8dff,#92d9c7);
    border-radius:25px;
    padding:20px;
    color:white;
    position:relative;
    margin-top: 10px;
}

.avatar{
    width:45px;
    height:45px;
    border-radius:50%;
    object-fit:cover;
    border:2px solid rgba(255,255,255,.4);
}

.badge-sim{
    background:rgba(255,255,255,.2);
    padding:5px 12px;
    border-radius:20px;
    color:white;
    font-size:12px;
}

.logout-btn{
    border-radius:30px;
    font-size:12px;
    padding:5px 12px;
}

/* BALANCE */
.balance-card{
    background:white;
    border-radius:15px;
    padding:12px 15px;
    margin-top:15px;
    color:#333;
}

.btn-balance{
    border:none;
    border-radius:30px;
    background:#5f8dff;
    color:white;
    padding:7px 15px;
    font-size:12px;
}

/* USAGE CARD */
.usage-card{
    background:white;
    border-radius:20px;
    padding:20px;
    margin-top:-25px;
    position:relative;
    z-index:10;
    box-shadow:0 10px 25px rgba(0,0,0,.08);
}

.circle-progress{
    width:110px;
    height:110px;
    border-radius:50%;
    background:
    conic-gradient(
        #5f8dff 70%,
        #e9ecef 0
    );
    position:relative;
    margin:auto;
}

.circle-progress::before{
    content:"";
    width:80px;
    height:80px;
    background:white;
    border-radius:50%;
    position:absolute;
    top:15px;
    left:15px;
}

.circle-content{
    position:absolute;
    width:100%;
    height:100%;
    display:flex;
    align-items:center;
    justify-content:center;
    flex-direction:column;
    z-index:2;
}

.circle-content h4{
    margin:0;
    font-weight:700;
}

/* PLAN */
.plan-card{
    background:#fff;
    border-radius:15px;
    padding:20px;
    box-shadow:0 3px 15px rgba(0,0,0,.08);
    transition:.2s;
}

.plan-card:hover{
    transform:translateY(-2px);
}

.plan-card img{
    object-fit:cover;
    border-radius:10px;
}

.plan-card h6{
    color:#2c3e50;
    margin-bottom:10px;
}

.plan-card .btn{
    border-radius:10px;
    font-size:14px;
}

.plan-icon{
    width:45px;
    height:45px;
    border-radius:12px;
    background:#eef4ff;
    color:#5f8dff;
    display:flex;
    align-items:center;
    justify-content:center;
    margin-bottom:10px;
}

.plan-price{
    font-size:22px;
    font-weight:bold;
}

/* Footer Logout */
.logout-footer{
    margin-top:15px;
}

.logout-footer .btn{
    border-radius:30px;
    height:50px;
}

@media(max-width:576px){

    .usage-header{
        border-radius:20px;
    }

    .circle-progress{
        width:90px;
        height:90px;
    }

    .circle-progress::before{
        width:65px;
        height:65px;
        top:12.5px;
        left:12.5px;
    }

    .plan-price{
        font-size:18px;
    }
}