

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box; /* чтобы padding и border учитывались внутри width/height */
}

body,html {
    -webkit-text-size-adjust: 100%; /* Safari, iOS */
    -ms-text-size-adjust: 100%;     /* IE/Edge */
    text-size-adjust: 100%;         /* стандарт */

    zoom: 1;          /* фиксируем */
    transform: none;  /* на всякий случай */

    margin: 0;
    height: 100%;              /* высота = экран */
    width: 100%;

    display: flex;
    justify-content: center;    /* центрируем section */
    align-items: center;        /* по вертикали */

    font-family: system-ui, sans-serif; /* современный шрифт */
    line-height: 1.5;                   /* удобнее читать текст */
    color: #111;                        /* цвет текста — почти чёрный */
    /*max-height: 100vh;                  !* тело растягивается на всю высоту *!*/

    background:
            radial-gradient(1200px 800px at 10% 10%, color-mix(in oklab, var(--accent) 12%, transparent), transparent),
            radial-gradient(1000px 700px at 90% 0%, color-mix(in oklab, var(--accent-2) 12%, transparent), transparent),
            var(--bg);
    color: var(--fg);
    font-family: ui-sans-serif, system-ui, -apple-system, "Inter", "SF Pro Text", "Segoe UI", Roboto, "Noto Sans", Arial, "Apple Color Emoji", "Segoe UI Emoji";
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}



.main-window {
    display: flex;
    /*left: 100px;*/
    gap:40px;
    flex-direction: row;
    /*justify-content: center;*/
    /*text-align: center;*/
    width: 100vw;
    height: 100vh;
    /*background: #ea868f;*/
    max-width: 1800px;
    /*right: 100px;*/
    background: color-mix(in oklab, var(--surface) 92%, transparent);
    border: 1px solid var(--stroke);
    border-radius: var(--radius);
    box-shadow: var(--shadow-2);
}




.chat-window {
    border-radius: 10px;
    display: flex;             /* колонка */
    flex-direction: column;
    width: 100dvw;
    height: 95vh;
    position: relative;
    right: 15px;
    order:2;
    overflow: hidden;
    padding: 10px;
    margin-top: 2.5vh;
    background: linear-gradient(180deg,
    color-mix(in oklab, var(--panel) 88%, transparent) 0%,
    color-mix(in oklab, var(--panel) 94%, transparent) 100%);
    border: 1px solid var(--stroke);
    border-radius: calc(var(--radius) - 4px);
    box-shadow: var(--shadow-1);
}

.input-box {
    display: flex;
    align-items: center;
    /*justify-content: center;*/
    text-align: left;
    /*align-content: center;*/
    border: 1px solid #ccc;
    border-radius: 22px;
    padding: 10px;
    background: green;
    margin: 15px;
    margin-left: 25%;             /* отступы от краёв */
    width: 50%;              /* сам подстраивается */
    /*min-width: 350px;*/
    height: 64px;
    max-height: 150px;
    background: color-mix(in oklab, var(--panel) 96%, transparent);
    border: 2px solid var(--stroke);
    /*border-radius: 9999px;*/
    box-shadow: var(--shadow-1);
    transition: box-shadow .2s ease, border-color .2s ease, background .2s ease;

}
.input-box:focus-within {
    border-color: color-mix(in oklab, var(--accent) 55%, var(--stroke));
    box-shadow: 0 0 0 4px color-mix(in oklab, var(--accent) 22%, transparent), var(--shadow-2);
    background: color-mix(in oklab, var(--panel) 90%, transparent);
}
.input-box textarea {

    max-height: 120px;
    height: 50px;
    text-align: left;

    /*background: red;*/
    flex: 1;
    border: none;
    resize: none;
    outline: none;
    font-size: 15px;
    background: transparent;
    /*border-radius: 22px;*/
    /*padding: 13px;*/
    /*padding-top: 25px;*/
    /*color: rgba(251,250,248,0.87);*/
    justify-content: left;
    /*align-content: flex-end;*/
    /*padding-bottom: 1px;*/
    padding-top: 14px;

    padding-left: 3.5px;
    /*width: 70vw;*/
    /*width: 1000px;*/

    font-family: 'Inter', 'Poppins', sans-serif;  /* красивый современный шрифт */
    font-weight: 400;

    color: var(--fg);
    /*background: transparent;*/
    font-family: "Inter", ui-sans-serif, system-ui, -apple-system, "SF Pro Text", "Segoe UI", Roboto, "Noto Sans", Arial;
    font-weight: 400;
    caret-color: var(--accent);
}


.input-box textarea::placeholder{ color: var(--muted); text-align: left; }

.input-box button {
    /*padding: 10px 10px;*/
    /*!*margin-left: 5px;*!*/
    /*!*margin-top: 10px;*!*/
    cursor: pointer;
    width: 39px;
    height: 30px;
    /*transition: 0.2s;*/
    /*!*left: 100px;*!*/
    align-content: center;
    border: 1px solid color-mix(in oklab, var(--accent) 55%, var(--stroke));
    background: linear-gradient(180deg, var(--accent), var(--accent-2));
    color: whitesmoke;
    border-radius: 100px;
    box-shadow: var(--shadow-1);
    transition: transform .08s ease, box-shadow .2s ease, filter .2s ease, opacity .2s ease;
}

.input-box button:hover{
    box-shadow: var(--shadow-2);
    filter: saturate(1.05);
}
.input-box button:active{ transform: translateY(1px); }
.input-box button[disabled]{ opacity: .6; cursor: not-allowed; }


.show-messages {
    flex: 1;                   /* тянется на всё место сверху */
    overflow-y: auto;          /* скролл */
    padding: 10px;
    display: flex;
    flex-direction: column;
    justify-content: flex-end; /* прижимаем вниз */
    /*background: red;*/
}

.message {
    background: black;
    max-width: 70%;
    margin:13px 0;
    padding: 6.5px 14px;
    border-radius: 10px;
    line-height: 1.2;
    /*padding: 10px;*/
    word-break: break-word;
    word-wrap: break-word;
}


.message.user {
    background: rgba(108,245,229,0.87);
    align-self: flex-end;
    border-bottom-right-radius: 3px;
    /*max-height: 10px;*/
}

.message.other {
    background: rgba(65,180,229,0.87);
    align-self: flex-start;
    border-bottom-left-radius: 3px;
}



.chat-header {
    display: flex;
    align-items: center;
    padding: 10px;
    background: navy; /* фон шапки */
    border-top-left-radius: 10px;
    border-top-right-radius: 10px;
    color: white;
    font-weight: bold;
    font-size: 16px;
    overflow: hidden;

    background:
            linear-gradient(180deg,
            color-mix(in oklab, var(--panel) 70%, var(--accent) 10%),
            color-mix(in oklab, var(--panel) 85%, var(--accent) 6%));

    border-bottom: 1px solid var(--stroke);
    color: var(--fg);
    letter-spacing: .8px;
}

.chat-header img {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    margin-right: 10px;
}


.show-preview {
    overflow: hidden;
    pointer-events: none;
    width: 250px; height: 200px;

    /*justify-items: center;*/
    border-radius: 12px;

    position: relative;
    bottom: 50%;

    display: grid;
    place-items: center;

    font-family: 'Inter', 'Poppins', sans-serif;  /* красивый современный шрифт */
    font-size: medium;

    color: rgba(229,228,226,0.87);
    place-self:center;
    /*bottom: 510px;*/

    /*left: 50%;*/
    /*box-shadow: 0 199px 30px rgba(222,0,22,.12);*/
    /*тенииии*/
    /*justify-items: center;*/
    /*justify-content: center;*/
    background: #13653f;

    background:
            linear-gradient(180deg,
            color-mix(in oklab, var(--panel) 88%, transparent),
            color-mix(in oklab, var(--panel) 96%, transparent));
    color: var(--muted);
    border: 1px solid var(--stroke);
    border-radius: var(--radius);
    box-shadow: var(--shadow-1);

}

.preview-animation {
    background: transparent;
    width: 100px;
    height: 100px;
}



#callButton {
    width: 40px;
    /*!*flex:1;*!*/
    /*position: absolute;*/
    /*right: 30px;*/
    /*!*top: 50%;*!*/
    /*!*right: 0px;*!*/
    /*align-items: flex-start;*/
    /*!*justify-self: right;*!*/
    /*!*justify-content: right;*!*/
    height: 32px;
    border-radius: 8px;
    /*!*background-color:red;*!*/
    border: 1px solid color-mix(in oklab, var(--accent) 55%, var(--stroke));
    background: linear-gradient(180deg, var(--accent), var(--accent-2));
    color: whitesmoke;
}

#back-home {
    display: none;
    color: whitesmoke;
    border-radius: 8px;
    height: 32px;
    width: 40px;
    /*background: yellow;*/
    border: 1px solid color-mix(in oklab, var(--accent) 55%, var(--stroke));
    background: linear-gradient(180deg, var(--accent), var(--accent-2));
}


#user-data {

    background: transparent;
    display: flex;
    justify-content:space-evenly;
    /*flex-direction: column;*/
    align-items: center;

    /*position: relative;*/
    /*left: 40%;*/
    /*overflow: hidden;*/
    /*display: flex;*/
    /*flex-direction: column;*/
    /*justify-content: center;*/
    /*align-items: center;*/
    /*position: relative;*/
    /*max-width: 250px;*/
    /*height: 30px;*/
    /*word-break: break-word;*/
    /*word-wrap: break-word;*/
    /*!*left: 33%;*!*/
    /*!*min-width: 100px;*!*/
    /*!*display: grid; place-items: center;*!*/
    /*!*align-items: center;*!*/
    /*!*position: relative;*!*/
    /*!*padding-right: 10px;*!*/
    /*!*justify-self: center;*!*/
    /*background: #6f42c1;*/

}

button, a {
    touch-action: manipulation;
}


.badge{
    display: inline-block;
    color: #fff;
    background: var(--accent);
    border-radius: 999px;
    border: 1px solid color-mix(in oklab, #000 10%, var(--accent));
    box-shadow: var(--shadow-1);
    padding: 2px 8px; /* визуал — не затрагивает ваши блоки, только внутри бейджа */
}
.badge.ok{ background: var(--ok); }
/*.badge.warn{ background: var(--warn); color: #1d1600; }*/
.badge.err{ background: var(--err); }

*::-webkit-scrollbar-track{ background: transparent; }

/* Микро-анимации появления */
@keyframes fade-in{ from{opacity:0; transform: translateY(6px)} to{opacity:1; transform:none} }
.fade-in{ animation: fade-in .28s ease both; }





















.users-list  {
    /*background: yellow;*/
    /*width: 96dvw;*/
    height: 83.3dvh;
    overflow: scroll;
    border-radius: 6px;
    /*width: 100dvw;*/
    margin: 5px;
}

.user-data {
    /*background: black;*/
    height: 75px;
    overflow: hidden;
    margin: 1px;

    border-radius: 10px;
}

.user-data:hover {
    background: #13653f;
}

.user-data img {
    width: 54px;
    height: 54px;
    border-radius: 90%;

    margin-left: 10px;
    margin-top: 7px;
    /*padding-right: ;*/

    /*padding: 3px;*/
}

.user-data span {
    background: hotpink;
    display: flex;
    width: 65%;
    overflow: hidden;
    position: relative;
    bottom: 60px;
    left: 80px;
    letter-spacing: .8px;
    font-size: 16px;
    font-weight: bold;
    height: 30px;
}

.user-data h4 {
    background: #ea868f;
    position: relative;
    width: 65%;
    height: 25px;
    overflow: hidden;
    bottom: 60px;
    left: 80px;
    word-break: break-word;
}
/*.users-title.users {*/
/*    height: 65px;*/
/*    background: green;*/
/*    border: 4px solid red;*/
/*    border-radius: 10px;*/
/*    margin: 3px;*/
/*    !*overflow: hidden;*!*/
/*    !*padding-bottom: 10px;*!*/
/*}*/

/*.users-title.users:hover {*/
/*    background: navy;*/
/*}*/



.contact-bar {
    display: flex;
    flex-direction: column; /* сверху вниз */
    position: relative;
    top:2.8vh;
    left: 15px;
    width: 25dvw;
    height: 94.7vh;          /* фиксируем высоту боковой панели */
    /*order: 1;*/
    /*!*display: flex;*!*/
    /*width: 25dvw;*/
    /*max-width: 550px;*/
    /*height: 95dvh;*/
    /*position: relative;*/
    /*left: 15px;*/
    /*top:2.5dvh;*/
    /*background: blue;*/
    /*background: var(--panel);*/
    /*border: 1px solid var(--stroke);*/
    /*border-radius: calc(var(--radius) - 4px);*/
    /*box-shadow: var(--shadow-1);*/
    /*backdrop-filter: saturate(1.1);*/

    /*justify-content: left;*/
    /*min-width: 16vw;*/
    /*max-width: 16vw;*/
    /*min-width: ;*/
    /*position: relative;*/
    /*top: 15px;*/
    /*left: 0;*/
    /*right: 100px;*/
    /*height: 95vh;*/
    /*background: #3dd5f3;*/


    border-radius: 10px;
}

.contact-bar input {
    display: flex;
    align-items: center;
    text-align: left;
    border: 1px solid transparent;
    background: linear-gradient(180deg, var(--accent), var(--accent-2));
    /*color: whitesmoke;*/
    /*border-radius: 999px;*/
    box-shadow: var(--shadow-1);
    transition: transform .08s ease, box-shadow .2s ease, filter .2s ease, opacity .2s ease;    border-radius: 22px;
    padding: 10px;
    font-size: 15px;
    background:
            radial-gradient(600px 280px at 80% 20%, color-mix(in oklab, var(--accent) 5%, transparent), transparent 40%),
            radial-gradient(520px 240px at 10% 30%, color-mix(in oklab, var(--accent-2) 5%, transparent), transparent 45%),
            color-mix(in oklab, var(--panel) 96%, transparent);

    margin: 14px;
    margin-left: 5%;             /* отступы от краёв */
    width: 89%;              /* сам подстраивается */
    /*min-width: 350px;*/


    color: var(--fg);

    height: 32px;
    max-height: 150px;

}


:root {
    --bg-card: rgba(25, 55, 55, 0.200);
    --bg-card-hover: rgba(19, 101, 63, 0.22); /* в тон вашему #13653f */
    --border: rgba(255, 255, 255, 0.12);
    --text-primary: #e9ecef;
    --text-secondary: #cfd8dc;
    --accent: #13653f;
    --shadow: 0 2px 10px rgba(0,0,0,.15);
    --shadow-hover: 0 6px 18px rgba(0,0,0,.22);
}

/* Контейнер списка пользователей */
.users-list  {
    /* размеры не трогаю */
    height: 83.3dvh;
    overflow: scroll;
    border-radius: 6px;
    margin: 5px;

    background: linear-gradient(180deg, rgba(22,192,77,.25), rgba(0,0,0,.15));
    box-shadow: var(--shadow);
    border: 1px solid var(--border);

    /* приятный скроллбар */
    scrollbar-width: thin;
    scrollbar-color: var(--accent) transparent;
    /*background: red;*/

}
.users-list::-webkit-scrollbar { width: 8px; }
.users-list::-webkit-scrollbar-track { background: transparent; }
.users-list::-webkit-scrollbar-thumb {
    background: var(--accent);
    border-radius: 8px;
}

/* Карточка пользователя */
.user-data {
    /* размеры не трогаю */
    height: 75px;
    overflow: hidden;
    margin: 1px;
    border-radius: 10px;

    background: var(--bg-card);
    border: 1px solid var(--border);
    backdrop-filter: blur(2px);

    transition: background-color .25s ease, box-shadow .25s ease, border-color .25s ease;
    cursor: pointer;
}
.user-data:hover {
    background: var(--bg-card-hover);
    box-shadow: var(--shadow-hover);
    border-color: rgba(19, 101, 63, .45);
}

/* Аватар */
.user-data img {
    /* размеры не трогаю */
    width: 54px;
    height: 54px;
    border-radius: 90%;
    margin-left: 10px;
    margin-top: 7px;

    object-fit: cover;
    border: 2px solid rgba(255,255,255,.25);
    box-shadow: 0 2px 8px rgba(0,0,0,.25);
}

/* Имя/логин (span) */
.user-data span {
    /* размеры/позиции не трогаю */
    display: flex;
    width: 65%;
    position: relative;
    bottom: 60px;
    left: 80px;
    height: 30px;

    /* визуал */
    background: transparent;              /* убрал hotpink */
    color: var(--text-primary);
    letter-spacing: .8px;
    font-size: 16px;                      /* оставил как было */
    font-weight: 700;
    align-items: center;

    /* усечение текста по краю */
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* Подзаголовок/статус (h4) */
.user-data h4 {
    /* размеры/позиции не трогаю */
    position: relative;
    width: 65%;
    height: 25px;
    overflow: hidden;
    bottom: 60px;
    left: 80px;
    word-break: break-word;

    /* визуал */
    background: transparent;              /* убрал #ea868f */
    color: var(--text-secondary);
    font-weight: 500;
    line-height: 1.4;

    /* аккуратное усечение */
    display: -webkit-box;
    -webkit-line-clamp: 1;                /* одна строка */
    -webkit-box-orient: vertical;
}

/* Фокус клавиатурой — доступность */
.user-data:focus-visible {
    outline: 2px solid color-mix(in oklab, white 65%, var(--accent));
    outline-offset: 2px;
    box-shadow: var(--shadow-hover);
}
