.module-dashboard{
    padding:18px !important;
    margin-bottom:18px;
}

.module-overview{
    display:flex;
    gap:18px;
    align-items:flex-start;
}

.module-cover{
    flex-shrink:0;
}

.module-cover img{
    width:140px;
    height:140px;
    object-fit:cover;
    border-radius:10px;
    display:block;
}

.module-summary{
    flex:1;
    min-width:0;
}

.module-summary h2{
    font-size:1.25rem;
    font-weight:700;
    color:#2d3748;
    margin-bottom:8px;
}

.module-summary p{
    font-size:.92rem;
    line-height:1.65;
    color:#6b7280;
    margin-bottom:14px;
}

.progress-title{
    font-size:.85rem;
    font-weight:600;
    margin-bottom:6px;
    color:#495057;
}

.progress{
    height:8px;
    border-radius:20px;
}

.progress-meta{
    display:flex;
    justify-content:space-between;
    align-items:center;
    margin-top:8px;
    font-size:.8rem;
    color:#6b7280;
}

.module-activities{
    padding:0 !important;
    overflow:hidden;
}

.activity-row{
    display:flex;
    align-items:center;
    gap:18px;

    padding:18px 22px;

    border-bottom:1px solid #eceff3;
}

.activity-row:last-child{
    border-bottom:none;
}

.activity-left{
    flex:1;

    display:flex;
    align-items:center;
    gap:16px;

    min-width:0;
}

.activity-icon{
    width:44px;
    height:44px;

    border-radius:50%;

    display:flex;
    align-items:center;
    justify-content:center;

    flex-shrink:0;

    color:#fff;
    font-size:1rem;
}

.activity-left h5{
    font-size:.95rem;
    font-weight:600;
    margin-bottom:3px;
    color:#2d3748;
}

.activity-left p{
    font-size:.82rem;
    line-height:1.45;
    color:#6b7280;
    margin:0;
}

.activity-status{
    width:170px;
    flex-shrink:0;
}

.status-completed{
    display:flex;
    align-items:center;
    gap:6px;

    color:#22a447;
    font-size:.85rem;
    font-weight:600;
}

.activity-status small{
    display:block;
    margin-top:2px;

    font-size:.75rem;
    color:#7c8591;
}

.activity-btn{
    min-width:130px;

    padding:8px 14px;

    border:1px solid #d9dde4;
    border-radius:8px;

    background:#fff;

    color:#495057;

    font-size:.82rem;
    font-weight:500;

    text-decoration:none;
    text-align:center;

    transition:.2s;
}

.activity-btn:hover{
    background:#f8f9fb;
    color:#212529;
}

.purple{
    background:#8e44ad;
}

.blue{
    background:#2e86de;
}

.orange{
    background:#f39c12;
}

.pink{
    background:#e84393;
}

@media(max-width:991px){

    .module-overview{
        flex-direction:column;
    }

    .module-cover img{
        width:100%;
        height:auto;
        max-width:280px;
    }

    .activity-row{
        flex-direction:column;
        align-items:flex-start;
    }

    .activity-status{
        width:100%;
    }

    .activity-btn{
        width:100%;
    }
}