/*==========================================================
FILE : auth/css/sidebar.css
VERSION : V2
PART 1
THEME : White + Jinko Green
==========================================================*/

/*==========================================
SIDEBAR
==========================================*/

.sidebar{

position:fixed;

top:0;

left:0;

width:290px;

height:100vh;

background:#FFFFFF;

border-right:1px solid #E8EDF3;

display:flex;

flex-direction:column;

overflow:hidden;

z-index:1200;

transition:.35s ease;

box-shadow:0 18px 45px rgba(15,23,42,.08);

}

/*==========================================
HIDDEN
==========================================*/

.sidebar.hide{

transform:translateX(-100%);

}

/*==========================================
TOP
==========================================*/

.sidebar-top{

height:90px;

padding:20px 24px;

display:flex;

align-items:center;

justify-content:space-between;

border-bottom:1px solid #EEF2F7;

background:#FFFFFF;

}

/*==========================================
LOGO
==========================================*/

.sidebar-logo{

display:flex;

align-items:center;

gap:14px;

text-decoration:none;

}

.sidebar-logo img{

width:52px;

height:52px;

object-fit:contain;

}

.sidebar-logo h2{

font-size:20px;

font-weight:700;

color:#1E293B;

margin:0;

}

.sidebar-logo span{

display:block;

font-size:12px;

font-weight:500;

color:#64748B;

margin-top:2px;

}

/*==========================================
CLOSE BUTTON
==========================================*/

.close-sidebar{

width:42px;

height:42px;

border:none;

border-radius:12px;

background:#ECFDF3;

color:#17B34A;

cursor:pointer;

font-size:18px;

display:flex;

align-items:center;

justify-content:center;

transition:.30s;

}

.close-sidebar:hover{

background:#17B34A;

color:#FFFFFF;

}

/*==========================================
USER
==========================================*/

.sidebar-user{

display:flex;

align-items:center;

gap:15px;

padding:22px 24px;

border-bottom:1px solid #EEF2F7;

background:#FFFFFF;

}

.sidebar-user img{

width:60px;

height:60px;

border-radius:50%;

object-fit:cover;

border:3px solid #17B34A;

}

.sidebar-user h3{

font-size:17px;

font-weight:700;

color:#1E293B;

margin-bottom:4px;

}

.sidebar-user span{

font-size:13px;

color:#64748B;

}

/*==========================================
BALANCE
==========================================*/

.sidebar-balance{

margin:20px;

padding:22px;

border-radius:22px;

background:linear-gradient(135deg,#17B34A,#22C55E);

color:#FFFFFF;

box-shadow:0 20px 40px rgba(23,179,74,.22);

}

.sidebar-balance small{

display:block;

font-size:12px;

opacity:.90;

margin-bottom:8px;

}

.sidebar-balance h2{

font-size:30px;

font-weight:800;

margin-bottom:8px;

}

.sidebar-balance p{

font-size:14px;

font-weight:600;

opacity:.95;

}
/*==========================================================
FILE : auth/css/sidebar.css
VERSION : V2
PART 2
MENU
==========================================================*/

/*==========================================
MENU
==========================================*/

.sidebar-menu{

flex:1;

overflow-y:auto;

padding:0 20px 25px;

}

.sidebar-menu::-webkit-scrollbar{

width:6px;

}

.sidebar-menu::-webkit-scrollbar-thumb{

background:#D9E5DD;

border-radius:50px;

}

/*==========================================
MENU TITLE
==========================================*/

.menu-title{

display:block;

margin:24px 0 14px;

font-size:12px;

font-weight:700;

letter-spacing:1px;

text-transform:uppercase;

color:#94A3B8;

}

/*==========================================
LIST
==========================================*/

.sidebar-menu ul{

list-style:none;

margin:0;

padding:0;

}

/*==========================================
ITEM
==========================================*/

.sidebar-menu li{

margin-bottom:8px;

}

/*==========================================
LINK
==========================================*/

.sidebar-menu a{

display:flex;

align-items:center;

gap:16px;

padding:15px 18px;

border-radius:18px;

text-decoration:none;

color:#475569;

font-size:15px;

font-weight:600;

transition:.30s;

position:relative;

overflow:hidden;

}

.sidebar-menu a::before{

content:"";

position:absolute;

left:0;

top:0;

width:0;

height:100%;

background:linear-gradient(
90deg,
#17B34A,
#22C55E
);

opacity:.08;

transition:.35s;

}

.sidebar-menu a:hover::before{

width:100%;

}

.sidebar-menu a:hover{

color:#17B34A;

transform:translateX(6px);

}

.sidebar-menu a.active{

background:#ECFDF3;

color:#17B34A;

font-weight:700;

}

.sidebar-menu a.active::after{

content:"";

position:absolute;

left:0;

top:10px;

width:4px;

height:calc(100% - 20px);

border-radius:20px;

background:#17B34A;

}

/*==========================================
ICON
==========================================*/

.sidebar-menu a i{

width:24px;

text-align:center;

font-size:18px;

flex-shrink:0;

}

/*==========================================
TEXT
==========================================*/

.sidebar-menu a span{

flex:1;

}

/*==========================================
BADGE
==========================================*/

.sidebar-menu a strong{

min-width:26px;

height:26px;

padding:0 8px;

display:flex;

align-items:center;

justify-content:center;

border-radius:30px;

background:#17B34A;

color:#FFFFFF;

font-size:11px;

font-weight:700;

}
/*==========================================================
FILE : auth/css/sidebar.css
VERSION : V2
PART 3
QUICK ACTIONS + VIP CARD
==========================================================*/

/*==========================================
QUICK ACTIONS
==========================================*/

.quick-actions{

display:grid;

grid-template-columns:repeat(2,1fr);

gap:12px;

margin-top:18px;

margin-bottom:26px;

}

.quick-actions a{

height:48px;

display:flex;

align-items:center;

justify-content:center;

border-radius:14px;

background:#F8FAFC;

border:1px solid #E8EDF3;

text-decoration:none;

font-size:14px;

font-weight:600;

color:#475569;

transition:.30s;

}

.quick-actions a:hover{

background:#17B34A;

border-color:#17B34A;

color:#FFFFFF;

transform:translateY(-3px);

box-shadow:0 12px 25px rgba(23,179,74,.20);

}

/*==========================================
VIP CARD
==========================================*/

.sidebar-upgrade{

margin-top:12px;

padding:24px;

border-radius:24px;

background:linear-gradient(
135deg,
#17B34A,
#22C55E
);

color:#FFFFFF;

position:relative;

overflow:hidden;

box-shadow:0 20px 40px rgba(23,179,74,.20);

}

.sidebar-upgrade::before{

content:"";

position:absolute;

right:-70px;

top:-70px;

width:170px;

height:170px;

border-radius:50%;

background:rgba(255,255,255,.08);

}

.sidebar-upgrade h3{

position:relative;

z-index:2;

font-size:22px;

font-weight:700;

margin-bottom:10px;

}

.sidebar-upgrade p{

position:relative;

z-index:2;

font-size:14px;

line-height:26px;

opacity:.95;

margin-bottom:22px;

}

.upgrade-btn{

position:relative;

z-index:2;

display:inline-flex;

align-items:center;

justify-content:center;

width:100%;

height:50px;

border-radius:14px;

background:#FFFFFF;

color:#17B34A;

text-decoration:none;

font-weight:700;

transition:.30s;

}

.upgrade-btn:hover{

background:#F8FAFC;

transform:translateY(-2px);

}

/*==========================================
SIDEBAR DIVIDER
==========================================*/

.sidebar-divider{

height:1px;

margin:22px 0;

background:#E8EDF3;

}

/*==========================================
SECTION SPACING
==========================================*/

.sidebar-menu ul+ .menu-title{

margin-top:28px;

}
/*==========================================================
FILE : auth/css/sidebar.css
VERSION : V2
PART 4
FOOTER + OVERLAY + RESPONSIVE
==========================================================*/

/*==========================================
SIDEBAR FOOTER
==========================================*/

.sidebar-footer{

padding:22px;

border-top:1px solid #EEF2F7;

background:#FFFFFF;

}

.logout-btn{

display:flex;

align-items:center;

justify-content:center;

gap:12px;

height:54px;

border-radius:16px;

background:#FEF2F2;

color:#DC2626;

text-decoration:none;

font-size:15px;

font-weight:700;

transition:.30s;

}

.logout-btn:hover{

background:#DC2626;

color:#FFFFFF;

transform:translateY(-3px);

}

.sidebar-version{

margin-top:20px;

text-align:center;

}

.sidebar-version small{

display:block;

font-size:12px;

color:#94A3B8;

margin-bottom:6px;

}

.sidebar-version span{

font-size:13px;

font-weight:700;

color:#17B34A;

}

/*==========================================
OVERLAY
==========================================*/

.sidebar-overlay{

position:fixed;

top:0;

left:0;

width:100%;

height:100vh;

background:rgba(15,23,42,.45);

backdrop-filter:blur(3px);

opacity:0;

visibility:hidden;

transition:.30s;

z-index:1199;

}

.sidebar-overlay.active{

opacity:1;

visibility:visible;

}

/*==========================================
DESKTOP
==========================================*/

@media(min-width:993px){

.close-sidebar{

display:none;

}

}

/*==========================================
TABLET
==========================================*/

@media(max-width:992px){

.sidebar{

transform:translateX(-100%);

}

.sidebar.active{

transform:translateX(0);

}

}

/*==========================================
MOBILE
==========================================*/

@media(max-width:768px){

.sidebar{

width:280px;

}

.sidebar-top{

height:80px;

padding:18px;

}

.sidebar-user{

padding:18px;

}

.sidebar-balance{

margin:18px;

}

.sidebar-menu{

padding:0 18px 20px;

}

.quick-actions{

grid-template-columns:1fr;

}

.sidebar-upgrade{

padding:20px;

}

}

/*==========================================
SMALL MOBILE
==========================================*/

@media(max-width:480px){

.sidebar{

width:100%;

max-width:320px;

}

.sidebar-logo h2{

font-size:18px;

}

.sidebar-logo span{

font-size:11px;

}

.sidebar-user img{

width:54px;

height:54px;

}

.sidebar-balance h2{

font-size:26px;

}

.sidebar-menu a{

padding:14px 16px;

font-size:14px;

}

}

/*==========================================
SCROLLBAR
==========================================*/

.sidebar-menu::-webkit-scrollbar{

width:6px;

}

.sidebar-menu::-webkit-scrollbar-track{

background:#F3F6F9;

}

.sidebar-menu::-webkit-scrollbar-thumb{

background:#17B34A;

border-radius:50px;

}

/*==========================================================
END OF FILE
auth/css/sidebar.css
VERSION : V2
STATUS : Production Ready
==========================================================*/

/*==========================================
DESKTOP LAYOUT FIX
The sidebar is position:fixed, so it is out of normal flow. The .app
wrapper must not try to lay it out as a flex column, and the page itself
must scroll normally behind it.
==========================================*/
.app{
display:block;
min-height:100vh;
}
html, body{
height:auto;
overflow-y:auto;
}
@media(min-width:993px){
.sidebar{
transform:none;
}
.main{
margin-left:290px;
}
}
@media(max-width:992px){
.main{
margin-left:0 !important;
}
}
