@import url('https://fonts.googleapis.com/css2?family=Lato:wght@400;700&family=Poppins:wght@400;500;600;700&display=swap');

* {
	margin: 0;
	padding: 0;
	box-sizing: border-box;
}

a {
	text-decoration: none;
}

li {
	list-style: none;
}

:root {
	--poppins: 'Poppins', sans-serif;
	--lato: 'Lato', sans-serif;

	--light: #F9F9F9;
	--light-blue: #CFE8FF;
	--grey: #eee;
	--dark-grey: #333333;
	--dark: #342E37;
	--red: #DB504A;
	--orange: #FD7238;
}

html {
	overflow-x: hidden;
}

body {
	background: var(--grey);
	overflow-x: hidden;
}

/* SIDEBAR */
#sidebar {
	position: fixed;
	top: 0;
	left: 0;
	width: 280px;
	height: 100%;
	background: var(--light);
	z-index: 2000;
	font-family: var(--lato);
	transition: .3s ease;
	overflow-x: hidden;
	scrollbar-width: none;
}
#sidebar:state(webkit-scrollbar) {
	display: none;
}
#sidebar.hide {
	width: 60px;
}
#sidebar .brand {
	font-size: 24px;
	font-weight: 700;
	height: 56px;
	display: flex;
	align-items:center;
	color: var(--dark);
	position: sticky;
	top: 0;
	left: 0;
	background: var(--light);
	z-index: 500;
	padding-bottom: 20px;
	box-sizing: content-box;
}
#sidebar .brand .bx {
	min-width: 60px;
	display: flex;
	justify-content: center;
}
#sidebar .side-menu {
	width: 100%;
	margin-top: 48px;
}
#sidebar .side-menu li {
	height: 48px;
	background: transparent;
	margin-left: 6px;
	border-radius: 48px 0 0 48px;
	padding: 4px;
	transition: background 0.3s, margin-left 0.3s;
}
#sidebar .side-menu li.active {
	background: var(--grey);
	position: relative;
	margin-left: 0;
}

#sidebar .side-menu li.active::before {
	content: '';
	position: absolute;
	width: 40px;
	height: 40px;
	border-radius: 50%;
	top: -40px;
	right: 0;
	box-shadow: 20px 20px 0 var(--grey);
	z-index: -1;
}
#sidebar .side-menu li.active::after {
	content: '';
	position: absolute;
	width: 40px;
	height: 40px;
	border-radius: 50%;
	bottom: -40px;
	right: 0;
	box-shadow: 20px -20px 0 var(--grey);
	z-index: -1;
}
#sidebar .side-menu li a {
	width: 100%;
	height: 100%;
	background: var(--light);
	display: flex;
	align-items: center;
	border-radius: 48px;
	font-size: 16px;
	color: var(--dark);
	white-space: nowrap;
	overflow-x: hidden;
	overflow-x: 20px;
	transition: color 0.3s, background 0.3s;
}
#sidebar.hide .side-menu li a {
	width: calc(48px - (4px * 2));
	transition: width .3s ease;
}
#sidebar .side-menu.top li.active a {
	color: var(--dark);
}
#sidebar .side-menu.top li a:hover {
	color: var(--red);
	background: var(--light);
}
#sidebar .side-menu li a .bx {
	min-width: calc(60px  - ((4px + 6px) * 2));
	display: flex;
	justify-content: center;
}
/* SIDEBAR */





/* CONTENT */
#content {
	position: relative;
	width: calc(100% - 280px);
	left: 280px;
	transition: .3s ease;
}
#sidebar.hide ~ #content {
	width: calc(100% - 60px);
	left: 60px;
}



/* NAVBAR */
#content nav {
	height: 56px;
	background: var(--light);
	padding: 0 24px;
	display: flex;
	align-items: center;
	grid-gap: 24px;
	font-family: var(--lato);
	position: sticky;
	top: 0;
	left: 0;
	z-index: 1000;
	justify-content: space-between;
}

#content nav a {
	color: var(--dark);
}
#content nav .bx.bx-menu {
	cursor: pointer;
    color: var(--dark);
    margin-right: auto; /* Menggeser ikon ke kiri */
    padding-left: 10px;
}
#content nav .profile img {
	width: 36px;
	height: 36px;
	object-fit: cover;
	border-radius: 50%;
}
/* NAVBAR */




/* MAIN */
#content main {
	width: 100%;
	padding: 36px 24px;
	font-family: var(--poppins);
	max-height: calc(100vh - 56px);
	overflow-y: auto;
}


/*TEAM MANAGE*/
#content main .wrapper-container {
    display:grid;
	grid-template-columns: repeat(auto-fit, minmax(300px, ));
    justify-content: space-around;
    align-items: flex-start;
    gap: 20px; /* Add some gap between the boxes */
	padding: 20px;
}
#content main .wrapper {
	background: #fff;
	width: 580px;
	border-radius: 15px;
	padding: 20px;
	margin: 20px;
	box-shadow: 10px 10px 15px rgba(0, 0, 0, 0.4);
	transform: translateZ(0);
	will-change: transform, opacity;
}
#content main h2 {
	text-align: center;
}
#content main hr {
	width: 100px;
	margin: 10px auto;
}
#content main .members {
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
}
#content main .team-mem {
	margin: 8px;
}
#content main .team-mem h4 a{
	color: black !important;
	text-decoration: none;
}
#content main .team-mem h4 a::visited {
	color: blue !important;
}
#content main .team-mem a::hover {
	text-decoration: underline;
}
#content main img {
	width: 100px;
	height: 100px;
	object-fit: cover;
	border-radius: 50%;
	margin: 10px;
}
#content main h4 {
	text-align: center;
	font-size: 12px;
	margin: 7px;
}

/*FILTERING*/
.filter-container {
	display: flex;
	gap: 10px; 
	justify-content: flex-end; 
	margin: 20px 0; 
	margin-left: auto;
  }
  
  .filter-container select {
	padding: 12px;
	font-size: 16px; 
	border: none; 
	border-radius: 8px; 
	background-color: #f2f2f2; 
	cursor: pointer; 
	width: 200px; 
	box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1); 
	transition: background-color 0.3s, box-shadow 0.3s; 
  }
  
  .filter-container select:focus {
	background-color: #fff; 
	box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2); 
	outline: none; 
  }
  
  .filter-container select:hover {
	background-color: #e8e8e8; 
  }


  
#content main .box-info {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
	grid-gap: 20px;
	margin-top: 36px;
}

#content main .box-info li {
    padding: 24px;
    background: #ec9f9c;
    border-radius: 20px;
    display: flex;
    align-items: center;
    grid-gap: 20px;
}

#content main .box-info li .text h3 {
	font-size: 24px;
	font-weight: 600;
	color: var(--dark);
}
#content main .box-info li .text p {
	color: var(--dark-grey);	
}

#content main .box{
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
	grid-gap: 20px;
	margin-top: 36px;
}
#content main .box li {
	padding: 24px;
	background: var(--light);
	border-radius: 20px;
	display: flex;
	align-items: center;
	grid-gap: 24px;
	/* edited */
	height: 400px;
	/* edited */
}
#content main .box li .text h3 {
	font-size: 24px;
	font-weight: 600;
	color: var(--dark);
}
#content main .box li .text p {
	color: var(--dark);	
}


#content main .table-data {
	display: flex;
	flex-wrap: wrap;
	grid-gap: 24px;
	margin-top: 24px;
	width: 100%;
	color: var(--dark);
}
#content main .table-data > div {
	border-radius: 20px;
	background: var(--light);
	padding: 24px;
	overflow-x: auto;
}

#content main .table-data .head {
	display: flex;
	align-items: center;
	grid-gap: 16px;
	margin-bottom: 24px;
}
#content main .table-data .head h3 {
	margin-right: auto;
	font-size: 24px;
	font-weight: 600;
}

#content main .table-data .order {
	flex-grow: 1;
	flex-basis: 500px;
}
#content main .table-data .order table {
	width: 100%;
	border-collapse: collapse;
}
#content main .table-data .order table th {
	padding-bottom: 12px;
	font-size: 13px;
	text-align: left;
	border-bottom: 1px solid var(--grey);
}
#content main .table-data .order table td {
	padding: 16px 0;
}
#content main .table-data .order table tr td:first-child {
	display: flex;
	align-items: center;
	grid-gap: 12px;
	padding-left: 6px;
}
#content main .table-data .order table tbody tr:hover {
	background: var(--grey);
}
/* MAIN */
/* CONTENT */

/* Footer */
footer {
    background: var(--light);
    padding: 5px;
    text-align: center;
    font-family: var(--lato);
    position: fixed;
    bottom: 0;
    width: calc(100% - 280px); /* Sama seperti #content */
    left: 280px; /* Sama seperti #content */
    transition: .3s ease;
}

#sidebar.hide ~ #content ~ footer {
    width: calc(100% - 60px);
    left: 60px;
}

footer p {
    margin: 0;
    color: var(--dark);
}








@media screen and (max-width: 768px) {
	#sidebar {
		width: 200px;
	}

	#content {
		width: calc(100% - 60px);
		left: 200px;
	}
}


@media screen and (max-width: 576px) {
	#content main .box-info {
		grid-template-columns: 1fr;
	}

	#content main .table-data .head {
		min-width: 420px;
	}
	#content main .table-data .order table {
		min-width: 420px;
	}
}

@media (max-width: 600px) {
    #content main .wrapper-container {
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 10px; /* Kurangi jarak antara kotak untuk layar kecil */
    }

    #content main .wrapper {
        width: 90%; /* Mengatur lebar menjadi 90% dari kontainer */
        margin: 10px;
        padding: 15px;
    }
}
