* {
    box-sizing: border-box;
}

body {

    margin: 0;
    font-family: Inter, system-ui, Arial;
    background: #0f1117;
    color: #e4e6eb;

}

/* ---------------- */
/* TOP BAR */
/* ---------------- */

.topbar {

    height: 60px;
    background: #151821;

    display: flex;
    align-items: center;
    justify-content: space-between;

    padding: 0 25px;

    border-bottom: 1px solid #222;

}

.title {

    font-weight: 600;
    font-size: 18px;

}

.status {

    font-size: 14px;
    color: #9aa0a6;

}

/* ---------------- */
/* LOGIN */
/* ---------------- */

.login {

    display: flex;
    flex-direction: column;

    align-items: center;
    justify-content: center;

    margin-top: 120px;
    gap: 15px;

}

.login input {

    width: 240px;
    padding: 12px;

    border-radius: 6px;
    border: none;

    background: #1d2230;
    color: white;

}

/* ---------------- */
/* WORKSPACE */
/* ---------------- */

.workspace {

    display: flex;
    gap: 20px;

    padding: 30px;

}

/* ---------------- */
/* PANELS */
/* ---------------- */

.panel {

    background: #161a24;
    border-radius: 10px;

    padding: 20px;

    box-shadow: 0 6px 18px rgba(0,0,0,0.25);

}

/* channel sidebar */

.channels {

    width: 200px;

}

/* voice area */

.voice {

    flex: 2;

}

/* users panel */

.users {

    width: 240px;

}

/* ---------------- */
/* TITLES */
/* ---------------- */

h2 {

    margin-top: 0;
    margin-bottom: 15px;

    font-size: 18px;

}

/* ---------------- */
/* CHANNEL LIST */
/* ---------------- */

#channel-list {

    display: flex;
    flex-direction: column;
    gap: 8px;

}

.channel {

    padding: 10px;
    border-radius: 6px;

    background: #1d2230;

    cursor: pointer;

}

.channel:hover {

    background: #262c3f;

}

.channel.active {

    background: #3a4ed9;

}

/* ---------------- */
/* BUTTONS */
/* ---------------- */

button {

    width: 100%;

    padding: 12px;
    margin-bottom: 10px;

    border-radius: 6px;
    border: none;

    background: #4f7cff;
    color: white;

    font-weight: 600;

    cursor: pointer;

    transition: 0.15s;

}

button:hover {

    background: #3c66e3;

}

/* ---------------- */
/* VOICE AREA */
/* ---------------- */

#voice-area {

    display: flex;
    flex-direction: column;

    gap: 10px;

    margin-bottom: 15px;

}

.voice-user {

    padding: 10px;

    border-radius: 6px;

    background: #1d2230;

    display: flex;
    justify-content: space-between;
    align-items: center;

}

.voice-user.speaking {

    background: #2848a3;

}

/* ---------------- */
/* USERS LIST */
/* ---------------- */

.user-list {

    display: flex;
    flex-direction: column;

    gap: 8px;

}

.user {

    padding: 10px;

    border-radius: 6px;

    background: #1d2230;

}

/* ---------------- */
/* VOICE CONTROLS */
/* ---------------- */

.voice-controls {

    margin-top: 10px;

}

/* ---------------- */
/* INPUTS */
/* ---------------- */

input {

    padding: 12px;

    border-radius: 6px;
    border: none;

    background: #1d2230;
    color: white;

}

/* ---------------- */
/* MOBILE */
/* ---------------- */

@media (max-width: 900px) {

    .workspace {

        flex-direction: column;

    }

    .channels,
    .users {

        width: 100%;

    }

}