 /*=========================================================
ROOT
=========================================================*/

:root{

    --academy-primary:#4f46e5;
    --academy-primary-dark:#3730a3;

    --academy-bg:#f5f7fb;

    --academy-card:#ffffff;

    --academy-border:#e7edf5;

    --academy-text:#1f2937;

    --academy-muted:#6b7280;

    --academy-shadow:
    0 18px 45px rgba(15,23,42,.08);

}

/*=========================================================
BODY
=========================================================*/

body{

    background:var(--academy-bg) !important;

    font-family:

    Inter,

    "Segoe UI",

    sans-serif;

    color:var(--academy-text);

}

body a{
    text-decoration: none;
}

.academy-contributors-page{

    padding-bottom:70px;

}

/*=========================================================
BREADCRUMB
=========================================================*/

.academy-breadcrumb{

    display:flex;

    align-items:center;

    gap:8px;

    flex-wrap:wrap;

    margin-bottom:14px;

    font-size:.85rem;

}

.academy-breadcrumb a{

    text-decoration:none;

    color:#64748b;

    transition:.25s;

}

.academy-breadcrumb a:hover{

    color:#2563eb;

}

.academy-breadcrumb span{

    color:#cbd5e1;

}

.academy-breadcrumb .active{

    color:#2563eb;

    font-weight:700;

}

/*=========================================================
BACK BUTTON
=========================================================*/

.academy-back-wrapper{

    display:flex;

    justify-content:flex-end;

    margin-bottom:14px;

}

.academy-back-btn{

    display:inline-flex;

    align-items:center;

    gap:8px;

    padding:10px 18px;

    background:#fff;

    border:1px solid #e7edf5;

    border-radius:12px;

    color:#334155;

    text-decoration:none;

    font-weight:600;

    transition:.25s;

    box-shadow:0 4px 14px rgba(15,23,42,.05);

}

.academy-back-btn:hover{

    background:#2563eb;

    color:#fff;

    border-color:#2563eb;

    transform:translateY(-2px);

}

/*=========================================================
HERO
=========================================================*/

.academy-hero{

    background:#fff;

    border:1px solid #e7edf5;

    border-radius:20px;

    padding:22px;

    display:flex;

    justify-content:space-between;

    align-items:center;

    gap:18px;

    flex-wrap:wrap;

    margin-bottom:18px;

    box-shadow:0 8px 24px rgba(15,23,42,.06);

}

.academy-hero-left{

    display:flex;

    align-items:center;

    gap:16px;

}

.academy-hero-icon{

    width:62px;

    height:62px;

    border-radius:16px;

    display:flex;

    align-items:center;

    justify-content:center;

    font-size:30px;

    background:linear-gradient(135deg,#eef4ff,#dbeafe);

}

.academy-hero h1{

    margin:0;

    font-size:1.45rem;

    font-weight:700;

}

.academy-hero p{

    margin-top:4px;

    font-size:.9rem;

    color:#64748b;

    max-width:480px;

}

/*=========================================================
HERO STATS
=========================================================*/

.academy-hero-stats{

    display:flex;

    gap:10px;

    flex-wrap:wrap;

}

.academy-stat-card{

    min-width:100px;

    padding:12px;

    background:#f8fafc;

    border:1px solid #e7edf5;

    border-radius:14px;

    text-align:center;

    transition:.25s;

}

.academy-stat-card:hover{

    transform:translateY(-2px);

}

.academy-stat-icon{

    font-size:16px;

    margin-bottom:4px;

}

.academy-stat-value{

    font-size:1rem;

    font-weight:700;

    color:#2563eb;

}

.academy-stat-label{

    margin-top:3px;

    font-size:.72rem;

    color:#64748b;

}

/*=========================================================
SEARCH
=========================================================*/

.academy-search-card{

    background:#fff;

    border:1px solid #e7edf5;

    border-radius:18px;

    padding:18px;

    margin-bottom:20px;

    box-shadow:0 6px 20px rgba(15,23,42,.05);

}

.academy-search-row{

    display:flex;

    gap:12px;

    align-items:center;

}

.academy-search-input{

    flex:1;

    height:46px;

    border:1px solid #dbe3ee;

    border-radius:12px;

    padding:0 16px;

    transition:.25s;

}

.academy-search-input:focus{

    outline:none;

    border-color:#2563eb;

    box-shadow:0 0 0 3px rgba(37,99,235,.10);

}

.academy-search-btn{

    height:46px;

    padding:0 20px;

    border:none;

    border-radius:12px;

    background:#2563eb;

    color:#fff;

    font-weight:600;

    transition:.25s;

}

.academy-search-btn:hover{

    transform:translateY(-2px);

    background:#1d4ed8;

}

.academy-reset-btn{

    display:flex;

    align-items:center;

    justify-content:center;

    height:46px;

    padding:0 20px;

    border-radius:12px;

    border:1px solid #dbe3ee;

    background:#fff;

    color:#334155;

    text-decoration:none;

    font-weight:600;

    transition:.25s;

}

.academy-reset-btn:hover{

    background:#f8fafc;

    color:#2563eb;

}

.academy-search-footer{

    margin-top:12px;

    font-size:.82rem;

    color:#64748b;

}

/*=========================================================
RESPONSIVE
=========================================================*/

@media(max-width:768px){

.academy-back-wrapper{

    justify-content:center;

}

.academy-hero{

    padding:18px;

}

.academy-hero-left{

    width:100%;

}

.academy-hero-stats{

    width:100%;

    justify-content:space-between;

}

.academy-stat-card{

    flex:1;

    min-width:90px;

}

.academy-search-row{

    flex-wrap:wrap;

}

.academy-search-input{

    width:100%;

    flex:unset;

}

.academy-search-btn,

.academy-reset-btn{

    flex:1;

    height:44px;

}

}


/*=========================================================
TOP 3 CONTRIBUTORS PREMIUM
=========================================================*/

.academy-top-card{

    background:#fff;

    border:1px solid #e7edf5;

    border-radius:18px;

    padding:18px;

    text-align:center;

    box-shadow:0 8px 24px rgba(15,23,42,.05);

    transition:.25s;

    height:100%;

}

.academy-top-card:hover{

    transform:translateY(-4px);

    box-shadow:0 14px 30px rgba(15,23,42,.10);

}

/*--------------------
Rank
--------------------*/

.academy-top-rank{

    font-size:1.5rem;

    margin-bottom:8px;

}

/*--------------------
Avatar
--------------------*/

.academy-top-avatar{

    width:64px;

    height:64px;

    margin:0 auto 12px;

    border-radius:50%;

    background:linear-gradient(135deg,#2563eb,#4f46e5);

    display:flex;

    align-items:center;

    justify-content:center;

    overflow:hidden;

    color:#fff;

    font-size:1.3rem;

    font-weight:700;

    transition:.25s;

}

.academy-top-card:hover
.academy-top-avatar{

    transform:scale(1.05);

}

.academy-top-avatar img{

    width:100%;

    height:100%;

    object-fit:cover;

    border-radius:50%;

}

/*--------------------
Username
--------------------*/

.academy-top-name{

    margin:0;

    font-size:1rem;

    font-weight:700;

    color:#1e293b;

}

/*--------------------
Contributions Badge
--------------------*/

.academy-top-badge{

    display:inline-flex;

    align-items:center;

    justify-content:center;

    gap:6px;

    margin:12px 0;

    padding:6px 12px;

    border-radius:999px;

    background:#eef4ff;

    color:#2563eb;

    font-size:.82rem;

    font-weight:600;

}

/*--------------------
Stats
--------------------*/

.academy-top-stats{

    display:flex;

    justify-content:center;

    gap:10px;

    margin:14px 0;

}

.academy-top-stat{

    flex:1;

    background:#f8fafc;

    border:1px solid #e7edf5;

    border-radius:12px;

    padding:10px;

}

.academy-top-stat-icon{

    font-size:.9rem;

    margin-bottom:3px;

}

.academy-top-stat-value{

    font-size:.95rem;

    font-weight:700;

    color:#2563eb;

    line-height:1.2;

}

.academy-top-stat-label{

    margin-top:2px;

    font-size:.70rem;

    color:#64748b;

}

/*--------------------
View Profile
--------------------*/

.academy-top-link{

    display:inline-flex;

    align-items:center;

    gap:6px;

    margin-top:8px;

    text-decoration:none;

    color:#2563eb;

    font-size:.86rem;

    font-weight:600;

    transition:.25s;

}

.academy-top-link:hover{

    gap:10px;

    color:#1d4ed8;

}

/*--------------------
Responsive
--------------------*/

@media(max-width:768px){

.academy-top-card{

    padding:16px;

}

.academy-top-avatar{

    width:58px;

    height:58px;

}

.academy-top-stats{

    gap:8px;

}

}


/*=========================================================
TABLE CARD PREMIUM
=========================================================*/

.academy-table-card{

    background:#fff;

    border:1px solid #e7edf5;

    border-radius:18px;

    overflow:hidden;

    box-shadow:0 8px 24px rgba(15,23,42,.05);

    margin-top:24px;

}

/*=========================================================
TABLE
=========================================================*/

.academy-table{

    margin:0;

}

.academy-table thead{

    background:#f8fafc;

}

.academy-table thead th{

    border:none;

    padding:14px 16px;

    font-size:.78rem;

    font-weight:700;

    color:#64748b;

    text-transform:uppercase;

    letter-spacing:.4px;

}

.academy-table tbody td{

    padding:12px 16px;

    border-top:1px solid #eef2f7;

    vertical-align:middle;

}

.academy-table tbody tr{

    transition:.20s;

}

.academy-table tbody tr:hover{

    background:#f8fbff;

}

/*=========================================================
RANK
=========================================================*/

.academy-table-rank{

    width:34px;

    height:34px;

    border-radius:50%;

    display:flex;

    align-items:center;

    justify-content:center;

    margin:auto;

    background:#eef4ff;

    color:#2563eb;

    font-weight:700;

    font-size:.82rem;

}

/*=========================================================
MEMBER
=========================================================*/

.academy-member{

    display:flex;

    align-items:center;

    gap:10px;

}

.academy-member-avatar{

    width:40px;

    height:40px;

    border-radius:50%;

    overflow:hidden;

    background:linear-gradient(135deg,#2563eb,#4f46e5);

    display:flex;

    align-items:center;

    justify-content:center;

    flex-shrink:0;

    color:#fff;

    font-size:.9rem;

    font-weight:700;

}

.academy-member-avatar img{

    width:100%;

    height:100%;

    object-fit:cover;

}

.academy-member-name{

    margin:0;

    font-size:.90rem;

    font-weight:700;

    color:#1e293b;

}

.academy-member-role{

    margin-top:2px;

    font-size:.72rem;

    color:#64748b;

}

/*=========================================================
BADGES
=========================================================*/

.academy-table-badge{

    display:inline-flex;

    align-items:center;

    justify-content:center;

    gap:5px;

    padding:5px 10px;

    border-radius:999px;

    background:#eef4ff;

    color:#2563eb;

    font-size:.75rem;

    font-weight:600;

}

.academy-total{

    font-size:.95rem;

    font-weight:700;

    color:#2563eb;

}


/*=========================================================
PAGINATION PREMIUM
=========================================================*/

.academy-pagination{

    display:flex;

    justify-content:center;

    margin-top:28px;

}

.academy-show-more-btn{

    display:inline-flex;

    align-items:center;

    justify-content:center;

    gap:8px;

    min-width:220px;

    height:48px;

    padding:0 24px;

    border-radius:14px;

    background:#2563eb;

    color:#fff;

    text-decoration:none;

    font-size:.92rem;

    font-weight:600;

    transition:.25s;

    box-shadow:0 8px 20px rgba(37,99,235,.18);

}

.academy-show-more-btn:hover{

    color:#fff;

    background:#1d4ed8;

    transform:translateY(-2px);

}

/*=========================================================
EMPTY STATE
=========================================================*/

.academy-empty-state{

    background:#fff;

    border:1px solid #e7edf5;

    border-radius:18px;

    padding:40px 24px;

    text-align:center;

    margin-top:30px;

    box-shadow:0 8px 24px rgba(15,23,42,.05);

}

.academy-empty-icon{

    width:64px;

    height:64px;

    margin:0 auto 16px;

    display:flex;

    align-items:center;

    justify-content:center;

    border-radius:18px;

    background:#eef4ff;

    font-size:30px;

}

.academy-empty-state h3{

    margin-bottom:8px;

    font-size:1.45rem;

    font-weight:700;

}

.academy-empty-state p{

    margin:0 auto 22px;

    max-width:480px;

    font-size:.92rem;

    color:#64748b;

    line-height:1.6;

}

.academy-empty-btn{

    display:inline-flex;

    align-items:center;

    justify-content:center;

    height:46px;

    padding:0 22px;

    border-radius:12px;

    background:#2563eb;

    color:#fff;

    text-decoration:none;

    font-weight:600;

    transition:.25s;

}

.academy-empty-btn:hover{

    color:#fff;

    background:#1d4ed8;

    transform:translateY(-2px);

}

/*=========================================================
BOTTOM BACK
=========================================================*/

.academy-bottom-back{

    display:flex;

    justify-content:center;

    margin-top:24px;

}

/*=========================================================
ANIMATIONS
=========================================================*/

.academy-hero,
.academy-search-card,
.academy-top-card,
.academy-table-card,
.academy-empty-state{

    animation:academyFade .35s ease;

}

@keyframes academyFade{

    from{

        opacity:0;

        transform:translateY(14px);

    }

    to{

        opacity:1;

        transform:translateY(0);

    }

}

/*=========================================================
RESPONSIVE
=========================================================*/

@media(max-width:992px){

    .academy-table-card{

        overflow-x:auto;

        -webkit-overflow-scrolling:touch;

    }

    .academy-table{

        min-width:760px;

    }

}

@media(max-width:768px){

    .academy-pagination{

        margin-top:22px;

    }

    .academy-show-more-btn{

        width:100%;

    }

    .academy-empty-state{

        padding:30px 18px;

    }

    .academy-empty-icon{

        width:56px;

        height:56px;

        font-size:26px;

    }

    .academy-empty-state h3{

        font-size:1.2rem;

    }

    .academy-empty-btn{

        width:100%;

    }

    .academy-bottom-back{

        margin-top:18px;

    }

    .academy-back-btn{

        width:100%;

        justify-content:center;

    }

}
    