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

body{
    display:flex;
    background:rgb(5,11,30);
    overflow:hidden;
}

.sidebar{
    width:320px;
    height:100vh;
    background:rgb(7,18,37);
    border-right:1px solid rgb(26,42,72);
    display:flex;
    flex-direction:column;
    padding:28px 20px;
    overflow-y:auto;
    scrollbar-width:none;
}

.sidebar::-webkit-scrollbar{
    display:none;
}

.head{
    display:flex;
    align-items:center;
    gap:12px;
    margin-bottom:35px;
}
.head img{
    width:55px;
}
.head h2{
    color:white;
    font-size:30px;
}
.head span{
    color:rgb(91,108,255);
}

.menu{
    display:flex;
    flex-direction:column;
    gap:14px;
}
.item{
    display:flex;
    align-items:center;
    gap:18px;
    height:56px;
    padding:0 18px;
    border-radius:18px;
    color:rgb(214,217,227);
    cursor:pointer;
    transition:.3s;
}
.item i{
    width:24px;
    font-size:20px;
    color:rgb(73,168,255);
}
.item p{
    font-size:17px;
}
.item:hover{
    transform:translateX(8px);
    background:rgb(15,28,56);
}
.active{
    background:linear-gradient(90deg,rgb(91,108,255),rgb(110,125,255));
    box-shadow:0 0 20px rgba(91,108,255,.4);
}
.active i{
    color:white;
}
.active p{
    color:white;
}

.location-card{
    margin-top:35px;
    background:rgb(15,28,56);
    border-radius:22px;
    padding:25px;
    text-align:center;
}
.location-card>i{
    font-size:42px;
    color:rgb(73,168,255);
    margin-bottom:15px;
}
.location-card h3{
    color:white;
    margin-bottom:15px;
}
.location-card p{
    color:rgb(158,168,199);
    line-height:25px;
    font-size:15px;
}
.location-card button{
    margin-top:22px;
    width:100%;
    height:48px;
    border:none;
    border-radius:16px;
    background:linear-gradient(90deg,rgb(91,108,255),rgb(110,125,255));
    color:white;
    font-size:16px;
    cursor:pointer;
    transition:.3s;
}
.location-card button:hover{
    transform:scale(1.03);
}

.recent{
    margin-top:25px;
    background:rgb(15,28,56);
    border-radius:22px;
    padding:20px;
}
.recent-head{
    display:flex;
    align-items:center;
    gap:10px;
    color:white;
    margin-bottom:18px;
}
.recent-head i{
    color:rgb(73,168,255);
}
.city{
    display:flex;
    align-items:center;
    gap:12px;
    padding:13px 0;
    border-bottom:1px solid rgba(255,255,255,.05);
    color:rgb(158,168,199);
    cursor:pointer;
    transition:.3s;
}

.city:last-child{
    border:none;
}

.city:hover{
    color:white;
    padding-left:8px;
}

.city i{
    color:rgb(73,168,255);
}

.main{
    flex:1;
    background:linear-gradient(180deg,rgb(9,21,47),rgb(5,11,30));

}