*{
margin:0;
padding:0;
box-sizing:border-box;
font-family:Inter,sans-serif;
}

body{
background:#07111f;
color:white;
height:100vh;
overflow:hidden;
}

.container{
display:flex;
height:100vh;
}

/* Sidebar */

.sidebar{
width:280px;
height:100vh;

background:linear-gradient(
180deg,
#071428,
#0a1730,
#07111f
);

padding:30px 18px;

border-right:1px solid rgba(255,255,255,.06);

display:flex;
flex-direction:column;

box-shadow:
5px 0 35px rgba(0,0,0,.5);
}

/* Logo */

.logo{
font-size:34px;
font-weight:800;
letter-spacing:1px;
margin-bottom:5px;
}

.logo span{
color:#2e9bff;
}

.subtitle{
font-size:13px;
color:#8f9eb2;

margin-bottom:50px;
}

/* Navigation */

.menu{
display:flex;
flex-direction:column;
gap:10px;
}

.menu button{

display:flex;
align-items:center;

width:100%;

padding:18px 22px;

border:none;
border-radius:16px;

background:transparent;

color:#dce5f2;

font-size:16px;
font-weight:500;

cursor:pointer;

transition:.35s;

text-align:left;
}

/* hover */

.menu button:hover{

background:
rgba(255,255,255,.05);

transform:translateX(8px);

color:white;

box-shadow:
0 0 20px
rgba(33,150,243,.15);

}

/* active item */

.active{

background:
linear-gradient(
90deg,
#1565c0,
#42a5f5
)!important;

color:white !important;

box-shadow:
0 0 25px
rgba(33,150,243,.4);

}

/* Bottom card */

.ai-status{

margin-top:auto;

padding:20px;

border-radius:20px;

background:
rgba(255,255,255,.04);

border:
1px solid rgba(255,255,255,.05);

}

.ai-status h3{

font-size:16px;
margin-bottom:10px;

}

.ai-status p{

font-size:13px;
line-height:22px;

color:#8f9eb2;
}

.online{

color:#42ff88;
font-weight:bold;
}

/* Main */

.main{
flex:1;
padding:30px;
}

.header{
display:flex;
justify-content:space-between;
align-items:center;
margin-bottom:30px;
}

.header h1{
font-size:42px;
}

.status{
padding:12px 20px;
border-radius:40px;
background:#0b203d;
color:#42ff88;
}

/* Chat */

.chat-container{
height:70vh;
background:rgba(255,255,255,.03);
backdrop-filter:blur(25px);
border-radius:30px;
padding:25px;
overflow-y:auto;

border:1px solid rgba(255,255,255,.06);

box-shadow:
0 10px 40px rgba(0,0,0,.4);
}

.message{
padding:18px;
border-radius:20px;
margin-bottom:25px;
max-width:70%;
}

.user{
margin-left:auto;

background:
linear-gradient(
45deg,
#1565c0,
#42a5f5
);
}

.bot{

background:
rgba(255,255,255,.05);

border:
1px solid rgba(255,255,255,.05);
}

/* Input */

.input-area{
display:flex;
margin-top:20px;
gap:15px;
}

.input-area input{

flex:1;
padding:20px;
border-radius:20px;
border:none;

background:#091726;
color:white;
font-size:16px;

outline:none;
}

.input-area button{

width:140px;

border:none;
border-radius:20px;

cursor:pointer;

font-size:16px;
font-weight:bold;

background:
linear-gradient(
45deg,
#1565c0,
#42a5f5
);

color:white;

transition:.3s;
}

.input-area button:hover{

transform:translateY(-4px);

box-shadow:
0 10px 30px
rgba(33,150,243,.5);
}

/* stats */

.cards{
display:flex;
gap:20px;
margin-top:25px;
}

.card{

flex:1;

padding:25px;

border-radius:25px;

background:
rgba(255,255,255,.04);

border:
1px solid rgba(255,255,255,.05);

}

.card h2{
font-size:30px;
margin-top:10px;
}

.card p{
color:#8a94a6;
}