.desktop-chat-overlay{
    position:fixed;
    inset:0;
    z-index:1400;
    display:flex;
    align-items:flex-end;
    justify-content:center;
    padding:0 18px;
    background:transparent;
    pointer-events:none;
}
.desktop-chat-overlay[hidden]{
    display:none!important;
}

.desktop-chat-box,
.desktop-chat-launcher{
    pointer-events:auto;
    width:340px;
    max-width:calc(100vw - 28px);
    border:1px solid var(--border,#dce4ef);
    border-bottom:0;
    border-radius:16px 16px 0 0;
    background:var(--card,#fff);
    color:var(--text,#111827);
    box-shadow:0 -8px 30px rgba(15,23,42,.2);
    overflow:hidden;
}

.desktop-chat-box.is-minimized{
    height:54px;
    max-height:54px;
    grid-template-rows:54px;
}

.desktop-chat-box.is-minimized .desktop-chat-messages,
.desktop-chat-box.is-minimized .desktop-chat-composer,
.desktop-chat-box.is-minimized .desktop-chat-notice{
    display:none!important;
}

.desktop-chat-box{
    height:430px;
    max-height:calc(100vh - 95px);
    display:grid;
    grid-template-rows:auto minmax(0,1fr) auto;
}

.desktop-chat-launcher{
    height:460px;
    max-height:calc(100vh - 95px);
    display:grid;
    grid-template-rows:auto minmax(0,1fr);
}

.desktop-chat-header,
.desktop-chat-launcher-header{
    min-height:54px;
    padding:8px 8px 8px 11px;
    border-bottom:1px solid var(--border,#dce4ef);
    background:var(--card,#fff);
    display:flex;
    align-items:center;
    gap:8px;
}

.desktop-chat-profile-link{
    min-width:0;
    flex:1;
    color:inherit;
    text-decoration:none;
    display:flex;
    align-items:center;
    gap:8px;
}

.desktop-chat-avatar-wrap{
    width:35px;
    height:35px;
    position:relative;
    flex:none;
}

.desktop-chat-avatar-wrap img{
    width:100%;
    height:100%;
    border-radius:50%;
    object-fit:cover;
    display:block;
}

.desktop-chat-online-dot{
    position:absolute;
    right:-1px;
    bottom:0;
    width:10px;
    height:10px;
    border-radius:50%;
    border:2px solid var(--card,#fff);
    background:#22c55e;
}

.desktop-chat-user-copy{
    min-width:0;
    display:grid;
    gap:1px;
}

.desktop-chat-user-copy strong,
.desktop-chat-user-copy small,
.desktop-chat-launcher-user strong,
.desktop-chat-launcher-user span,
.desktop-chat-launcher-user small{
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
}

.desktop-chat-user-copy strong{
    font-size:13.5px;
    line-height:1.2;
}

.desktop-chat-user-copy small{
    color:var(--muted,#667085);
    font-size:10.5px;
}

.desktop-chat-header-actions,
.desktop-chat-launcher-actions{
    display:flex;
    align-items:center;
    gap:1px;
    flex:none;
}

.desktop-chat-icon-button,
.desktop-chat-launcher-close,
.desktop-chat-launcher-item{
    border:0;
    background:transparent;
}

.desktop-chat-icon-button,
.desktop-chat-launcher-close{
    width:30px;
    height:30px;
    border-radius:50%;
    display:grid;
    place-items:center;
    color:var(--blue,#0f6fff);
    cursor:pointer;
    text-decoration:none;
}

.desktop-chat-icon-button:hover,
.desktop-chat-launcher-close:hover{
    background:color-mix(in srgb,var(--blue,#0f6fff) 10%,transparent);
}

.desktop-chat-icon-button svg,
.desktop-chat-launcher-close svg{
    width:16px;
    height:16px;
}

.desktop-chat-messages{
    min-height:0;
    overflow-y:auto;
    overscroll-behavior:contain;
    padding:11px 9px;
    background:color-mix(in srgb,var(--bg,#f4f7fb) 74%,var(--card,#fff));
    display:flex;
    flex-direction:column;
    gap:7px;
}

.desktop-chat-empty,
.desktop-chat-loading,
.desktop-chat-launcher-empty{
    margin:auto;
    padding:18px;
    color:var(--muted,#667085);
    text-align:center;
    font-size:12.5px;
    line-height:1.5;
}

.desktop-chat-message{
    max-width:80%;
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    gap:3px;
}

.desktop-chat-message.mine{
    align-self:flex-end;
    align-items:flex-end;
}

.desktop-chat-bubble{
    min-width:32px;
    padding:8px 10px;
    border-radius:15px 15px 15px 4px;
    background:var(--card,#fff);
    border:1px solid var(--border,#dce4ef);
    color:var(--text,#111827);
    font-size:13px;
    line-height:1.4;
    overflow-wrap:anywhere;
    white-space:pre-wrap;
}

.desktop-chat-message.mine .desktop-chat-bubble{
    border-color:var(--blue,#0f6fff);
    border-radius:15px 15px 4px 15px;
    background:var(--blue,#0f6fff);
    color:#fff;
}

.desktop-chat-message-image{
    display:block;
    max-width:205px;
    max-height:210px;
    border-radius:12px;
    object-fit:cover;
}

.desktop-chat-time{
    padding:0 4px;
    color:var(--muted,#667085);
    font-size:9.5px;
}

.desktop-chat-notice{
    padding:6px 10px;
    background:#fff4e5;
    color:#9a3412;
    border-top:1px solid #fed7aa;
    font-size:11px;
    line-height:1.35;
}

.desktop-chat-composer{
    position:relative;
    padding:8px;
    border-top:1px solid var(--border,#dce4ef);
    background:var(--card,#fff);
    display:grid;
    grid-template-columns:auto minmax(0,1fr) auto;
    align-items:end;
    gap:5px;
}

.desktop-chat-composer textarea{
    width:100%;
    min-height:37px;
    max-height:86px;
    resize:none;
    border:1px solid var(--border,#dce4ef);
    border-radius:18px;
    padding:8px 11px;
    outline:0;
    background:var(--bg,#f4f7fb);
    color:var(--text,#111827);
    font:inherit;
    font-size:12.5px;
    line-height:1.35;
}

.desktop-chat-composer textarea:focus{
    border-color:var(--blue,#0f6fff);
    box-shadow:0 0 0 3px color-mix(in srgb,var(--blue,#0f6fff) 15%,transparent);
}

.desktop-chat-composer-button,
.desktop-chat-send-button{
    width:35px;
    height:35px;
    border:0;
    border-radius:50%;
    display:grid;
    place-items:center;
    cursor:pointer;
}

.desktop-chat-composer-button{
    background:transparent;
    color:var(--blue,#0f6fff);
}

.desktop-chat-composer-button:hover{
    background:color-mix(in srgb,var(--blue,#0f6fff) 10%,transparent);
}

.desktop-chat-send-button{
    background:var(--blue,#0f6fff);
    color:#fff;
}

.desktop-chat-send-button:hover{
    filter:brightness(.96);
}

.desktop-chat-composer-button svg,
.desktop-chat-send-button svg{
    width:17px;
    height:17px;
}

.desktop-chat-send-button:disabled{
    opacity:.6;
    cursor:not-allowed;
}

.desktop-chat-emoji-panel{
    position:absolute;
    left:8px;
    bottom:52px;
    z-index:2;
    width:min(215px,calc(100% - 16px));
    padding:8px;
    border:1px solid var(--border,#dce4ef);
    border-radius:13px;
    background:var(--card,#fff);
    box-shadow:0 14px 32px rgba(15,23,42,.18);
    display:grid;
    grid-template-columns:repeat(6,1fr);
    gap:4px;
}

.desktop-chat-emoji-panel[hidden]{
    display:none!important;
}

.desktop-chat-emoji-panel button{
    height:29px;
    border:0;
    border-radius:8px;
    background:transparent;
    font-size:17px;
    cursor:pointer;
}

.desktop-chat-emoji-panel button:hover{
    background:color-mix(in srgb,var(--blue,#0f6fff) 9%,transparent);
}

.desktop-chat-launcher-title{
    min-width:0;
    flex:1;
}

.desktop-chat-launcher-title h3{
    margin:0;
    font-size:16px;
}

.desktop-chat-launcher-title p{
    margin:2px 0 0;
    color:var(--muted,#667085);
    font-size:11px;
}

.desktop-chat-launcher-body{
    min-height:0;
    overflow:auto;
    padding:8px;
    display:grid;
    align-content:start;
    gap:5px;
    background:color-mix(in srgb,var(--bg,#f4f7fb) 72%,var(--card,#fff));
}

.desktop-chat-launcher-item{
    width:100%;
    padding:8px;
    border-radius:12px;
    display:flex;
    align-items:center;
    gap:9px;
    text-align:left;
    color:inherit;
    cursor:pointer;
}

.desktop-chat-launcher-item:hover{
    background:color-mix(in srgb,var(--blue,#0f6fff) 9%,transparent);
}

.desktop-chat-launcher-item img{
    width:40px;
    height:40px;
    border-radius:50%;
    object-fit:cover;
    flex:none;
}

.desktop-chat-launcher-user{
    min-width:0;
    flex:1;
    display:grid;
    gap:2px;
}

.desktop-chat-launcher-user strong{
    font-size:13px;
}

.desktop-chat-launcher-user span{
    font-size:11px;
    color:var(--muted,#667085);
}

.desktop-chat-launcher-meta{
    display:grid;
    justify-items:end;
    gap:4px;
    flex:none;
}

.desktop-chat-launcher-meta small{
    font-size:10px;
    color:var(--muted,#667085);
}

.desktop-chat-launcher-unread{
    min-width:20px;
    height:20px;
    padding:0 6px;
    border-radius:999px;
    background:var(--blue,#0f6fff);
    color:#fff;
    font-size:10px;
    font-weight:700;
    display:grid;
    place-items:center;
}

@media(max-width:1023px){
    .desktop-chat-overlay{
        display:none!important;
    }
}


.desktop-chat-launcher-list{
    display:grid;
    gap:5px;
}

.desktop-chat-launcher-show-more{
    width:100%;
    min-height:40px;
    margin-top:4px;
    border:0;
    border-radius:11px;
    background:color-mix(in srgb,var(--blue,#0f6fff) 10%,transparent);
    color:var(--blue,#0f6fff);
    font-weight:750;
    cursor:pointer;
}

.desktop-chat-launcher-show-more:hover{
    background:color-mix(in srgb,var(--blue,#0f6fff) 16%,transparent);
}

.desktop-chat-launcher-show-more[hidden]{
    display:none!important;
}
