
    
/*==================================================
DESIGN SYSTEM
==================================================*/


:root{

--primary:#2563eb;
--primary-dark:#1d4ed8;

--success:#16a34a;
--danger:#dc2626;

--text:#0f172a;
--text-light:#64748b;

--bg:#f5f7fb;
--card:#ffffff;

--border:#e2e8f0;

--radius:18px;
--radius-lg:22px;

--shadow-sm:0 4px 14px rgba(15,23,42,.05);
--shadow:0 12px 32px rgba(15,23,42,.08);

--transition:.25s ease;

}

/*==================================================
BODY
==================================================*/

html{

background:#f5f7fb;

}

body{

background:#f5f7fb !important;

font-family:'Inter',sans-serif;

color:var(--text);

margin:0;

padding:0;

min-height:100vh;

}

/*==================================================
LAYOUT
==================================================*/

.members-page{

padding:34px 0 55px;

background:#f5f7fb;

min-height:100vh;

}

.members-page .container{

max-width:1180px;

}

/*==================================================
HERO
==================================================*/

.members-hero{

display:flex;

justify-content:space-between;

align-items:center;

gap:24px;

margin-bottom:24px;

padding:22px 26px;

background:#fff;

border:1px solid var(--border);

border-radius:20px;

box-shadow:var(--shadow-sm);

}

.members-hero__content{

display:flex;

align-items:center;

gap:18px;

}

.members-hero__icon{

width:64px;

height:64px;

display:flex;

align-items:center;

justify-content:center;

background:rgba(37,99,235,.10);

border-radius:16px;

font-size:1.8rem;

flex-shrink:0;

}

.members-hero__title{

margin:0;

font-family:'Sora',sans-serif;

font-size:1.7rem;

font-weight:700;

color:var(--text);

}

.members-hero__subtitle{

margin:6px 0 0;

max-width:720px;

font-size:.93rem;

line-height:1.65;

color:var(--text-light);

}

/*==================================================
SEARCH TOOLBAR
==================================================*/

.members-toolbar{

margin-bottom:24px;

padding:20px 22px;

background:#fff;

border:1px solid var(--border);

border-radius:20px;

box-shadow:var(--shadow-sm);

}

.members-search{

position:relative;

}

.members-search i{

position:absolute;

left:18px;

top:50%;

transform:translateY(-50%);

font-size:1rem;

color:var(--text-light);

pointer-events:none;

}

.members-search .form-control{

height:56px;

padding-left:48px;

border:1px solid var(--border);

border-radius:16px;

font-size:.92rem;

background:#fff;

box-shadow:none;

transition:var(--transition);

}

.members-search .form-control:focus{

border-color:rgba(37,99,235,.45);

box-shadow:0 0 0 4px rgba(37,99,235,.10);

}


/*==================================================
MEMBER CARD
==================================================*/

.member-card{

display:flex;

flex-direction:column;

justify-content:space-between;

height:100%;

padding:18px;

background:#fff;

border:1px solid var(--border);

border-radius:20px;

box-shadow:var(--shadow-sm);

transition:var(--transition);

}

.member-card:hover{

transform:translateY(-3px);

box-shadow:var(--shadow);

}

/*==================================================
HEADER
==================================================*/

.member-card__header{

display:flex;

align-items:center;

gap:14px;

margin-bottom:16px;

}

/*==================================================
AVATAR
==================================================*/

.member-avatar{

width:60px;

height:60px;

display:block;

flex-shrink:0;

border-radius:50%;

overflow:hidden;

box-shadow:0 8px 18px rgba(15,23,42,.10);

}

.member-avatar img{

width:100%;

height:100%;

display:block;

object-fit:cover;

border-radius:50%;

transition:var(--transition);

}

.member-card:hover .member-avatar img{

transform:scale(1.05);

}


.member-avatar-placeholder{
    width:100%;
    height:100%;

    display:flex;
    align-items:center;
    justify-content:center;

    border-radius:50%;

    background:linear-gradient(135deg,#2563eb,#3b82f6);

    color:#fff;

    font-family:'Sora',sans-serif;
    font-weight:700;
    font-size:1.15rem;

    text-transform:uppercase;

    user-select:none;
}

/*==================================================
MEMBER INFO
==================================================*/

.member-info{

flex:1;

min-width:0;

}

.member-name{

margin:0 0 8px;

font-size:1rem;

font-weight:700;

font-family:'Sora',sans-serif;

line-height:1.3;

}

.member-name a{

display:inline-flex;

align-items:center;

gap:8px;

text-decoration:none;

color:var(--text);

transition:var(--transition);

}

.member-name a:hover{

color:var(--primary);

}

/*==================================================
FLAG
==================================================*/

.member-flag{

width:22px;

height:16px;

object-fit:cover;

border-radius:3px;

box-shadow:0 2px 6px rgba(0,0,0,.10);

}

/*==================================================
LEVEL
==================================================*/

.member-level{

display:inline-flex;

align-items:center;

gap:6px;

padding:6px 12px;

border-radius:999px;

background:rgba(37,99,235,.10);

color:var(--primary);

font-size:.75rem;

font-weight:700;

white-space:nowrap;

}

/*==================================================
STATS
==================================================*/

.member-stats{

display:flex;

justify-content:space-between;

align-items:center;

padding:14px 0;

margin-top:2px;

border-top:1px solid var(--border);

border-bottom:1px solid var(--border);

}

.member-stats span{

display:flex;

flex-direction:column;

align-items:center;

font-size:.78rem;

color:var(--text-light);

}

.member-stats strong{

font-size:1rem;

font-weight:800;

font-family:'Sora',sans-serif;

color:var(--text);

margin-bottom:2px;

}


/*==================================================
BUTTONS
==================================================*/

.members-search-btn,
.members-reset-btn,
.member-btn{

display:inline-flex;

align-items:center;

justify-content:center;

gap:8px;

height:46px;

padding:0 18px;

border:none;

border-radius:14px;

font-size:.85rem;

font-weight:700;

text-decoration:none;

transition:all .25s ease;

}

/* Search */

.members-search-btn{

background:linear-gradient(
135deg,
#2563eb,
#3b82f6
);

color:#fff !important;

}

.members-search-btn i{

color:#fff;

}

.members-search-btn:hover{

color:#fff !important;

transform:translateY(-2px);

box-shadow:0 12px 24px rgba(37,99,235,.20);

}

/* Reset */

.members-reset-btn{

background:linear-gradient(
135deg,
#ef4444,
#dc2626
);

color:#fff !important;

}

.members-reset-btn i{

color:#fff;

}

.members-reset-btn:hover{

color:#fff !important;

transform:translateY(-2px);

box-shadow:0 12px 24px rgba(239,68,68,.20);

}

/*==================================================
MEMBER ACTIONS
==================================================*/

.member-actions{

display:grid;

grid-template-columns:1fr 1fr;

gap:10px;

margin-top:16px;

}

.member-btn{

width:100%;

}

/* View Profile */

.member-btn--profile{

background:#fff;

border:1px solid var(--border);

color:var(--text);

}

.member-btn--profile:hover{

background:var(--primary);

border-color:var(--primary);

color:#fff;

transform:translateY(-2px);

}

.member-btn--profile:hover i{

color:#fff;

}

/* Follow */

.member-btn--follow{


color: blue;
background-color: white;

}

.member-btn--follow:hover{
background:linear-gradient(135deg, #1675a3, #225cc5);

color:white;

transform:translateY(-2px);

box-shadow:0 12px 24px rgba(34,197,94,.22);

}

/* Unfollow */

.member-btn--unfollow{

background:linear-gradient(
135deg,
#ef4444,
#dc2626
);

color:#fff;

}

.member-btn--unfollow:hover{

color:#fff;

transform:translateY(-2px);

box-shadow:0 12px 24px rgba(239,68,68,.22);

}

/*==================================================
PREMIUM PAGINATION
==================================================*/

.members-pagination-wrapper{

margin-top:34px;

}

.members-pagination{

gap:10px;

}

.members-pagination .page-link{

display:flex;

align-items:center;

justify-content:center;

min-width:46px;

height:46px;

padding:0 16px;

border:none;

border-radius:14px;

background:#fff;

color:var(--text);

font-weight:700;

box-shadow:var(--shadow-sm);

transition:all .25s ease;

}

.members-pagination .page-link:hover{

background:var(--primary);

color:#fff;

transform:translateY(-2px);

}

.members-pagination .page-item.active .page-link{

background:linear-gradient(
135deg,
#2563eb,
#3b82f6
);

color:#fff;

}

.members-pagination .page-item.disabled .page-link{

background:#eef2f7;

color:#94a3b8;

box-shadow:none;

}

/*==================================================
EMPTY STATE
==================================================*/

.members-empty{

padding:60px 25px;

text-align:center;

background:#fff;

border:1px solid var(--border);

border-radius:20px;

box-shadow:var(--shadow-sm);

}

.members-empty__icon{

font-size:3rem;

margin-bottom:18px;

}

.members-empty h2{

margin-bottom:12px;

font-family:'Sora',sans-serif;

font-size:1.4rem;

font-weight:700;

color:var(--text);

}

.members-empty p{

max-width:520px;

margin:0 auto 22px;

font-size:.92rem;

line-height:1.7;

color:var(--text-light);

}

.members-empty__btn{

display:inline-flex;

align-items:center;

gap:8px;

padding:12px 22px;

border-radius:14px;

background:linear-gradient(
135deg,
#2563eb,
#3b82f6
);

color:#fff;

font-weight:700;

text-decoration:none;

transition:all .25s ease;

}

.members-empty__btn:hover{

color:#fff;

transform:translateY(-2px);

box-shadow:0 12px 24px rgba(37,99,235,.22);

}

/*==================================================
MICRO INTERACTIONS
==================================================*/

.member-card,
.members-toolbar,
.members-hero,
.member-btn,
.members-search-btn,
.members-reset-btn{

transition:all .25s ease;

}

.member-card:hover{

border-color:#dbeafe;

}

.member-card:hover .member-level{

background:rgba(37,99,235,.15);

}

.member-card:hover .member-name a{

color:var(--primary);

}

.member-card:hover .member-stats strong{

color:var(--primary);

}

/*==================================================
RESPONSIVE
==================================================*/

@media (max-width:991px){

.members-page{

padding:28px 0 45px;

}

.members-page .container{

max-width:900px;

}

.members-hero{

padding:20px;

}

.member-card{

padding:16px;

}

.member-actions{

grid-template-columns:1fr;

}

}

@media (max-width:768px){

.members-hero{

flex-direction:column;

align-items:flex-start;

gap:18px;

}

.members-hero__content{

width:100%;

}

.members-toolbar{

padding:18px;

}

.members-toolbar .row{

row-gap:16px;

}

.members-search-btn,

.members-reset-btn{

width:100%;

}

.member-card{

padding:18px;

}

.member-card__header{

align-items:center;

}

.member-actions{

grid-template-columns:1fr;

gap:10px;

}

.member-btn{

width:100%;

}

.members-pagination{

justify-content:center;

flex-wrap:wrap;

}

}

/*==================================================
MOBILE
==================================================*/

@media (max-width:576px){

.members-page{

padding:20px 0 35px;

}

.members-hero{

padding:18px;

border-radius:16px;

}

.members-hero__icon{

width:54px;

height:54px;

font-size:1.5rem;

border-radius:14px;

}

.members-hero__title{

font-size:1.35rem;

}

.members-hero__subtitle{

font-size:.84rem;

}

.members-toolbar{

padding:16px;

border-radius:16px;

}

.members-search .form-control{

height:50px;

font-size:.88rem;

}

.members-search-btn,

.members-reset-btn{

height:50px;

font-size:.88rem;

}

.member-card{

padding:16px;

border-radius:16px;

}

.member-avatar{

width:56px;

height:56px;

}

.member-name{

font-size:.95rem;

}

.member-level{

font-size:.72rem;

padding:5px 10px;

}

.member-stats{

padding:12px 0;

}

.member-stats strong{

font-size:.95rem;

}

.member-stats span{

font-size:.72rem;

}

.member-btn{

height:42px;

font-size:.82rem;

}

.members-pagination .page-link{

min-width:42px;

height:42px;

padding:0 14px;

font-size:.82rem;

}

}

/*==================================================
CUSTOM SCROLLBAR
==================================================*/

::-webkit-scrollbar{

width:10px;

height:10px;

}

::-webkit-scrollbar-track{

background:#eef2f7;

}

::-webkit-scrollbar-thumb{

background:#cbd5e1;

border-radius:30px;

}

::-webkit-scrollbar-thumb:hover{

background:#94a3b8;

}

/*==================================================
LIGHT ANIMATIONS
==================================================*/

.members-hero,
.members-toolbar,
.member-card,
.members-empty{

animation:fadeUp .45s ease;

}

@keyframes fadeUp{

from{

opacity:0;

transform:translateY(14px);

}

to{

opacity:1;

transform:translateY(0);

}

}

/*==================================================
FINAL DETAILS
==================================================*/

.member-card,
.members-toolbar,
.members-hero,
.members-empty{

overflow:hidden;

}

.member-card *{

word-break:break-word;

}

.member-avatar img{

max-width:100%;

height:100%;

display:block;

}

.member-avatar img{

width:100%;

height:100%;

object-fit:cover;

display:block;

}

.member-flag{

width:22px;

height:16px;

object-fit:cover;

}

.members-page img{

max-width:100%;

}

.member-btn,
.members-search-btn,
.members-reset-btn,
.members-search .form-control,
.members-pagination .page-link{

transition:all .25s ease;

}

