*{
margin:0;
padding:0;
box-sizing:border-box;
font-family:Arial, Helvetica, sans-serif;
}

body{
background:#f4f6fb;
}

/* LAYOUT */

.container{
display:flex;
height:100vh;
}

/* SIDEBAR */

.sidebar{
width:250px;
background:#1e293b;
color:white;
padding:25px;
transition:0.3s;
}

.sidebar.collapse{
width:70px;
}

/* LOGO */

.logo{
font-size:22px;
font-weight:bold;
margin-bottom:40px;
text-align:center;
}

/* MENU */

.menu{
list-style:none;
}

.menu li{
margin-bottom:10px;
}

.menu a{
display:block;
padding:10px;
text-decoration:none;
color:white;
border-radius:6px;
transition:0.3s;
}

.menu a:hover{
background:#334155;
}

.menu .active a{
background:#2563eb;
}

/* COLLAPSE TEXT */

.sidebar.collapse .menu a{
font-size:0;
}

/* MAIN */

.main{
flex:1;
padding:30px;
}

/* TOPBAR */

.topbar{
display:flex;
justify-content:space-between;
align-items:center;
margin-bottom:30px;
}

.left{
display:flex;
align-items:center;
gap:15px;
}

/* MENU BUTTON */

.menu-btn{
font-size:24px;
background:none;
border:none;
cursor:pointer;
}

/* PROFILE */

.profile{
display:flex;
align-items:center;
gap:10px;
}

.profile-info{
text-align:right;
}

.name{
font-weight:bold;
}

.class{
font-size:12px;
color:#666;
}

.avatar{
width:40px;
height:40px;
border-radius:50%;
}

/* WELCOME */

.welcome{
margin-bottom:40px;
}

.welcome h1{
font-size:28px;
margin-bottom:8px;
}

/* CARDS */

.cards{
display:grid;
grid-template-columns:repeat(4,1fr);
gap:20px;
}

.card{
background:white;
padding:25px;
border-radius:10px;
box-shadow:0 5px 15px rgba(0,0,0,0.05);
transition:0.3s;
}

.card:hover{
transform:translateY(-5px);
}

.card h3{
margin-bottom:8px;
}