.chat-page {
    position: relative;

    display: flex;
    flex-direction: column;

    width: 100%;
    height: 90vh;

    gap: 20px;

    .chat-page-header {
        display: flex;
        flex-direction: row;

        align-items: center;

        gap: 20px;
    }

    .chat-page-messages {
        display: flex;
        flex-direction: column;
        gap: 10px;

        height: 80vh;

        background-color: var(--background-color-accent);

        border-radius: 12px;

        padding: 10px;
        padding-bottom: 20px;

        overflow-y: overlay;

        &.empty {
            align-items: center;
            justify-content: center;
        }

        .chat-page-line-wrapper {
            display: flex;
            flex-direction: column;

            gap: 10px;

            &.self {
                align-self: flex-end;
            }

            .chat-page-line {
                display: flex;
                flex-direction: column;
                background-color: var(--background-color-primary);

                width: fit-content;
                max-width: 300px;

                gap: 10px;

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

                .chat-page-line-avatar {
                    display: flex;
                    flex-direction: row;

                    align-items: center;

                    gap: 7px;

                    img {
                        width: 30px;
                        height: 30px;
                        border-radius: 12px;
                    }
                }

                .chat-page-line-text {
                    p {
                        white-space: pre-wrap;
                        line-break: break-all;
                        word-break: break-all;

                        margin: 0;

                        user-select: text;
                    }
                }
            }
        }
    }

    .chat-page-input-wrapper {
        position: relative;

        bottom: 0;
        left: 0;

        width: 100%;

        .chat-page-remote-typing {
            position: absolute;

            bottom: 0;
            left: 0;

            display: flex;

            flex-direction: row;
            align-items: center;

            transform: translateY(120%);

            padding: 4px 10px;

            background-color: var(--background-color-accent);
            border-radius: 12px;
        }

        .chat-page-input {
            display: flex;
            flex-direction: row;

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

            border: 2px var(--border-color) solid;
            border-radius: 12px;

            overflow: hidden;

            background-color: var(--background-color-accent);

            .ant-input {
                border: 0;
                border-radius: 0;

                background-color: transparent;

                box-shadow: none !important;
            }

            .ant-btn {
                border: 0;
                border-radius: 0;

                height: 40px;
                width: 40px;

                border-radius: 12px;
            }
        }
    }
}