/*=========================================
 MAIN CONTENT
=========================================*/

.main-content{

    margin-left:var(--sidebar-width);

    width:calc(100% - var(--sidebar-width));

    min-height:100vh;

    display:flex;

    flex-direction:column;

    transition:var(--transition);

}


/*=========================================
 TOPBAR
=========================================*/

.topbar{

    position:sticky;

    top:0;

    left:0;

    height:72px;

    background:var(--white);

    border-bottom:1px solid var(--border);

    display:flex;

    align-items:center;

    justify-content:space-between;

    gap:25px;

    padding:0 30px;

    z-index:100;

}


/*=========================================
 MENU TOGGLE
=========================================*/

.menu-toggle{

    display:none;

    width:42px;

    height:42px;

    border:none;

    background:transparent;

    cursor:pointer;

    font-size:26px;

    color:var(--text);

}


/*=========================================
 SEARCH
=========================================*/

.search-form{

    flex:1;

    max-width:500px;

}

.search-form input{

    width:100%;

    height:46px;

    padding:0 18px;

    border:1px solid var(--border);

    border-radius:30px;

    outline:none;

    background:#fff;

    font-size:15px;

    transition:var(--transition);

}

.search-form input:focus{

    border-color:var(--primary);

    box-shadow:0 0 0 4px rgba(37,99,235,.08);

}


/*=========================================
 TOPBAR RIGHT
=========================================*/

.topbar-right{

    display:flex;

    align-items:center;

    gap:18px;

}


/*=========================================
 NOTIFICATION
=========================================*/

.notification-btn{

    width:44px;

    height:44px;

    border:none;

    border-radius:50%;

    background:#f3f4f6;

    cursor:pointer;

    display:flex;

    justify-content:center;

    align-items:center;

    transition:var(--transition);

}

.notification-btn:hover{

    background:var(--primary);

    color:#fff;

}


/*=========================================
 PROFILE
=========================================*/

.profile-dropdown{

    display:flex;

    align-items:center;

    gap:12px;

    cursor:pointer;

    user-select:none;

}

.profile-dropdown img{

    width:46px;

    height:46px;

    border-radius:50%;

    object-fit:cover;

    flex-shrink:0;

}

.profile-dropdown strong{

    display:block;

    font-size:15px;

    color:var(--text);

}

.profile-dropdown span{

    display:block;

    font-size:13px;

    color:var(--text-light);

}


/*=========================================
 BREADCRUMB
=========================================*/

.breadcrumb{

    padding:20px 30px;

    font-size:14px;

    color:var(--text-light);

}


/*=========================================
 DASHBOARD CONTENT
=========================================*/

.dashboard-content{

    display:flex;

    flex-direction:column;

    gap:25px;

    padding:0 30px 30px;

}


/*=========================================
 WELCOME SECTION
=========================================*/

.welcome-card{

    display:grid;

    grid-template-columns:2fr 1fr;

    gap:30px;

    align-items:center;

}

.welcome-left{

    display:flex;

    flex-direction:column;

    gap:12px;

}

.welcome-left h1{

    font-size:32px;

    line-height:1.3;

}

.welcome-left p{

    color:var(--text-light);

    max-width:600px;

}

.welcome-right{

    display:flex;

    justify-content:center;

    align-items:center;

}


/*=========================================
 CONTENT SECTIONS
=========================================*/

.stats-grid,
.continue-learning,
.resources-grid,
.performance-section,
.activity-section,
.downloads-section,
.achievement-section{

    width:100%;

}
/*=========================================
 UTILITIES
=========================================*/

.hidden{
    display:none !important;
}

.text-center{
    text-align:center;
}

.w-100{
    width:100%;
}

.mt-20{
    margin-top:20px;
}

.mb-20{
    margin-bottom:20px;
}

.mb-30{
    margin-bottom:30px;
}


/*=========================================
 SCROLLBAR
=========================================*/

::-webkit-scrollbar{
    width:8px;
    height:8px;
}

::-webkit-scrollbar-track{
    background:#f3f4f6;
}

::-webkit-scrollbar-thumb{
    background:#cbd5e1;
    border-radius:20px;
}

::-webkit-scrollbar-thumb:hover{
    background:#94a3b8;
}


/*=========================================
 TABLET
=========================================*/

@media (max-width:992px){

    .sidebar{

        left:-100%;
        transition:.35s;

    }

    .sidebar.active{

        left:0;

    }

    .main-content{

        margin-left:0;
        width:100%;

    }

    .menu-toggle{

        display:flex;
        align-items:center;
        justify-content:center;

    }

    .topbar{

        padding:0 20px;

    }

    .search-form{

        max-width:280px;

    }

    .dashboard-content{

        padding:0 20px 20px;

    }

    .breadcrumb{

        padding:18px 20px;

    }

    .welcome-card{

        grid-template-columns:1fr;

        text-align:center;

    }

    .welcome-left{

        align-items:center;

    }

}


/*=========================================
 MOBILE
=========================================*/

@media (max-width:768px){

    .topbar{

        height:65px;

        padding:0 15px;

    }

    .search-form{

        display:none;

    }

    .topbar-right{

        gap:12px;

    }

    .profile-dropdown strong{

        display:none;

    }

    .profile-dropdown span{

        display:none;

    }

    .breadcrumb{

        padding:15px;

    }

    .dashboard-content{

        padding:0 15px 15px;

    }

    .welcome-left h1{

        font-size:28px;

    }

}


/*=========================================
 SMALL MOBILE
=========================================*/

@media (max-width:480px){

    .topbar{

        gap:10px;

    }

    .notification-btn{

        width:40px;
        height:40px;

    }

    .profile-dropdown img{

        width:40px;
        height:40px;

    }

    .welcome-left h1{

        font-size:24px;

    }

    .welcome-left p{

        font-size:14px;

    }

}