/* Header geometry stays steady when photos load; actions remain text-labelled. */
body.knyaz-v5 .ms-chat-header{column-gap:8px;row-gap:6px}
body.knyaz-v5 .ms-chat-header>.ms-chat-title{min-width:0;flex:1 1 120px}
body.knyaz-v5 .ms-chat-title h2{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;margin-bottom:2px;line-height:1.3}
body.knyaz-v5 .ms-chat-title small{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;max-height:none;overflow:hidden;line-height:1.4}
body.knyaz-v5 .ms-chat-header>.ms-avatar,
body.knyaz-v5 .ms-header-avatar{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;flex:0 0 44px;border-radius:0}
body.knyaz-v5 .ms-header-avatar{overflow:visible}
body.knyaz-v5 .ms-group-avatar-control{display:inline-grid;place-items:center;box-sizing:border-box;width:44px;height:44px;min-width:44px;min-height:44px;padding:0;border-radius:0;transform:none;transition:border-color .16s,box-shadow .16s}
body.knyaz-v5 .ms-header-avatar .ms-avatar{width:42px;height:42px;flex-basis:42px;border-radius:0}
body.knyaz-v5 .ms-header-actions{display:flex;flex:0 1 auto;min-width:0;gap:6px;align-items:center;flex-wrap:wrap}
body.knyaz-v5 .ms-header-actions>.button{min-height:44px;white-space:nowrap;overflow-wrap:normal;font-size:12px;padding:8px 10px;gap:5px}
body.knyaz-v5 .ms-chat-header .ms-mobile-back{width:44px;min-width:44px;height:44px;padding:8px;flex:0 0 44px}
body.knyaz-v5 :is(.ms-group-avatar-control,.ms-header-actions>.button,.ms-self-profile>.button,.ms-chat-header>.ms-mobile-back):focus-visible{outline:2px solid #345d29;outline-offset:2px;box-shadow:0 0 0 4px #d5fa83,0 0 12px #a6d64c60}
@media(hover:hover){
 body.knyaz-v5 .ms-group-avatar-control:hover{border-color:#527b31;box-shadow:0 0 0 1px #c0e56a,0 0 10px #9acb3b40}
}
@media(max-width:760px){
 body.knyaz-v5 .ms-chat-header{column-gap:6px;row-gap:6px}
 body.knyaz-v5 .ms-chat-header>.ms-chat-title{flex:1 1 0;min-width:0}
 body.knyaz-v5 .ms-chat-title h2{font-size:14px}
 body.knyaz-v5 .ms-chat-title small{font-size:10px}
 body.knyaz-v5 .ms-header-actions{flex:1 0 100%;width:100%;display:flex;flex-wrap:nowrap;gap:6px}
 body.knyaz-v5 .ms-header-actions>.button{flex:1 1 0;min-width:0;min-height:44px;padding:7px 9px;font-size:12px}
 body.knyaz-v5 .ms-self-profile{gap:8px;padding:8px}
 body.knyaz-v5 .ms-self-profile>.button{min-width:0;overflow-wrap:normal}
}
@media(prefers-reduced-motion:reduce){
 body.knyaz-v5 .ms-group-avatar-control{transition:none}
}

/* Reserve room for conversations; toolbar controls must never squeeze the list to one line. */
body.knyaz-v5.knyaz-refined #content>.ms-layout .ms-sidebar{flex-direction:column}
body.knyaz-v5.knyaz-refined .ms-sidebar>.ms-self-profile{flex:0 0 auto;padding:5px 8px;gap:8px}
body.knyaz-v5.knyaz-refined .ms-self-profile>.button{min-height:44px!important;height:44px;padding:5px 10px!important;font-size:12px!important}
body.knyaz-v5.knyaz-refined .ms-sidebar>.ms-list-tabs{flex:0 0 auto;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));padding:5px 7px;gap:4px}
body.knyaz-v5.knyaz-refined .ms-list-tabs [data-ms="group-new"]{grid-column:auto}
body.knyaz-v5.knyaz-refined .ms-list-tabs>.button{min-height:44px!important;height:44px;padding:4px!important;font-size:11px!important;gap:4px;white-space:normal}
body.knyaz-v5.knyaz-refined .ms-sidebar>.ms-filter{flex:0 0 auto;padding:4px 8px;margin:0;gap:6px}
body.knyaz-v5.knyaz-refined .ms-filter input{height:44px!important;min-height:44px!important;padding:7px 9px!important;font-size:16px!important}
body.knyaz-v5.knyaz-refined .ms-sidebar>.ms-list-tools{flex:0 0 auto;padding:3px 8px}
body.knyaz-v5.knyaz-refined .ms-list-tools>.button{min-height:44px!important;height:44px;padding:4px 8px!important;font-size:12px!important}
body.knyaz-v5.knyaz-refined #content>.ms-layout .ms-room-list{min-height:192px;scrollbar-width:auto;scrollbar-color:#6c9168 #e4eee4;overscroll-behavior:contain}
body.knyaz-v5.knyaz-refined #content>.ms-layout:has(.ms-welcome){min-height:414px}
body.knyaz-v5.knyaz-refined .main>#content:has(.ms-layout .ms-welcome){overflow-y:auto}
body.knyaz-v5.knyaz-refined .ms-room{min-height:72px;padding:10px 12px}
body.knyaz-v5.knyaz-refined .ms-room-copy strong{font-size:15px;line-height:1.35}

@media(min-width:761px){body.knyaz-v5.knyaz-refined #content>.ms-layout{min-height:414px}body.knyaz-v5.knyaz-refined .main>#content:has(>.ms-layout){overflow-y:auto}}

body.knyaz-v5.knyaz-refined .ms-list-tabs>.button{flex-direction:column;line-height:1.15;gap:2px}
body.knyaz-v5.knyaz-refined .ms-list-tabs>.button svg{width:16px;height:16px;flex:none}

/* One toolbar row: avatar beside the three symmetric chat actions. */
body.knyaz-v5.knyaz-refined #content>.ms-layout .ms-sidebar{display:grid;grid-template-columns:44px minmax(0,1fr);grid-template-rows:54px 52px 50px minmax(192px,1fr);grid-template-areas:"profile tabs" "filter filter" "tools tools" "rooms rooms";column-gap:4px;padding:0 6px}
body.knyaz-v5.knyaz-refined .ms-sidebar>.ms-self-profile{grid-area:profile;position:relative;display:grid;place-items:center;padding:5px 0;border:0;margin:0}
body.knyaz-v5.knyaz-refined .ms-self-profile>.button{position:absolute;inset:5px 0;width:44px;min-width:44px;padding:0!important;font-size:0!important;background:transparent!important;border:1px solid transparent!important;box-shadow:none!important}
body.knyaz-v5.knyaz-refined .ms-self-profile>.button svg{display:none}
body.knyaz-v5.knyaz-refined .ms-self-profile>.button:focus-visible{outline:2px solid #345d29;outline-offset:0}
body.knyaz-v5.knyaz-refined .ms-sidebar>.ms-list-tabs{grid-area:tabs;padding:5px 0;border:0}
body.knyaz-v5.knyaz-refined .ms-sidebar>.ms-filter{grid-area:filter;padding:4px 0}
body.knyaz-v5.knyaz-refined .ms-sidebar>.ms-list-tools{grid-area:tools;padding:3px 0}
body.knyaz-v5.knyaz-refined #content>.ms-layout .ms-room-list{grid-area:rooms;margin-inline:-6px}
body.knyaz-v5.knyaz-refined #content>.ms-layout:not(.ms-room-open){min-height:350px}
body.knyaz-v5.knyaz-refined .main>#content:has(>.ms-layout:not(.ms-room-open)){overflow-y:auto}
body.knyaz-v5.knyaz-refined .ms-search[hidden]{display:none!important}
body.knyaz-v5.knyaz-refined .ms-compose-line{display:grid;grid-template-columns:44px minmax(0,1fr) 44px;align-items:end;gap:6px}
body.knyaz-v5.knyaz-refined .ms-compose-line :is(.ms-send,.ms-attach){width:44px;height:48px;min-width:44px;padding:8px!important;margin:0}
body.knyaz-v5.knyaz-refined .ms-compose-line .ms-send span{display:none}
body.knyaz-v5.knyaz-refined .ms-compose-line textarea{width:100%;min-height:48px;max-height:96px;font-size:16px!important;margin:0}
@media(max-width:760px){
 body.knyaz-v5.knyaz-refined #content>.ms-room-open .ms-sidebar{display:none}
 body.knyaz-v5.knyaz-refined #content:has(>.ms-layout)>.view-head{display:none!important}
 body.knyaz-v5.knyaz-refined #content:has(>.ms-room-open)>.refine-context-tabs{display:none}
 body.knyaz-v5.knyaz-refined #content>.ms-room-open{min-height:0}
 body.knyaz-v5.knyaz-refined .main>#content:has(>.ms-room-open){overflow:hidden}
 body.knyaz-v5.knyaz-refined .ms-header-actions{margin:0}
 body.knyaz-v5.knyaz-refined .ms-header-actions>.button{flex:1 1 0;justify-content:center}
 body.knyaz-v5.knyaz-refined #content>.ms-room-open .ms-compose{max-height:none;min-height:62px;padding:6px}
 body.knyaz-v5.knyaz-refined #content>.ms-room-open .ms-messages{min-height:0}
}
html[data-keyboard-open="true"] body.knyaz-refined .main:has(>#content>.ms-room-open)>:is(.topbar,.quick-workspaces),
html[data-keyboard-open="true"] body.knyaz-refined #content:has(>.ms-room-open)>:is(.ms-privacy,.refine-context-tabs,.view-head),
html[data-keyboard-open="true"] body.knyaz-refined .ms-room-open .ms-compose-hint{display:none!important}
html[data-keyboard-open="true"] body.knyaz-refined .main>#content:has(>.ms-room-open){padding:4px 6px!important}
@media(max-width:760px) and (max-height:500px){
 body.knyaz-refined .main:has(>#content>.ms-room-open)>:is(.topbar,.quick-workspaces),body.knyaz-refined #content:has(>.ms-room-open)>:is(.ms-privacy,.refine-context-tabs,.view-head),body.knyaz-refined .ms-room-open .ms-compose-hint{display:none!important}
 body.knyaz-refined .main>#content:has(>.ms-room-open){padding:4px 6px!important}
}

body.knyaz-refined:has(#cx-chat-compose:focus-within) :is(.cx-notification,.ms-unread-notice){display:none!important}
html[data-keyboard-open="true"] body.knyaz-refined .ms-compose-files{max-height:44px}
html[data-keyboard-open="true"] body.knyaz-refined :is(.ms-compose-reply,.ms-compose-context){max-height:48px;overflow:auto}
html[data-keyboard-open="true"] body.knyaz-refined .ms-compose-line textarea{max-height:80px}

/* New-message navigation occupies its own row, never overlays the message timeline. */
body.knyaz-v5.knyaz-refined #content>.ms-layout .ms-latest{position:static;z-index:auto;flex:0 0 auto;align-self:stretch;margin:4px 6px;min-height:44px;padding:5px 8px;font-size:12px;box-shadow:none}
body.knyaz-v5.knyaz-refined #content>.ms-layout .ms-messages{position:relative;min-height:0;overflow:auto}

/* Keep mobile chat unobstructed; pending notices remain available on the dashboard. */
@media(max-width:760px){body.knyaz-refined:has(.ms-layout) :is(.cx-notification,.ms-unread-notice){display:none!important}}

/* Quotes and queued files share a bounded scroll area; the send row never shrinks. */
body.knyaz-v5.knyaz-refined #content>.ms-layout .ms-compose{display:flex;flex-direction:column;max-height:60%!important;overflow:hidden}
body.knyaz-v5.knyaz-refined .ms-compose-extras{flex:0 1 auto;min-height:0;max-height:96px;overflow:auto;overscroll-behavior:contain}
body.knyaz-v5.knyaz-refined .ms-compose-line{flex:0 0 auto}
body.knyaz-v5.knyaz-refined .ms-compose>.error{flex:0 1 auto;min-height:0;max-height:48px;overflow:auto;margin:3px 0}
body.knyaz-v5.knyaz-refined .ms-compose>.ms-compose-hint{flex:0 0 auto}
body.knyaz-v5.knyaz-refined .ms-compose-reply span{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;line-height:1.4}
body.knyaz-v5.knyaz-refined .ms-compose-reply .button{flex:0 0 auto;min-height:44px}
@media(max-width:760px) and (max-height:500px){body.knyaz-v5.knyaz-refined .ms-compose-extras{max-height:64px}}
html[data-keyboard-open="true"] body.knyaz-v5.knyaz-refined .ms-compose-extras{max-height:64px}

/* A stable header control cannot resize the history while scrolling. */
body.knyaz-v5.knyaz-refined #content>.ms-layout .ms-header-actions>.ms-latest{flex:0 0 44px;width:44px;height:44px;min-height:44px;margin:0;padding:6px;font-size:20px;align-self:center}
body.knyaz-v5.knyaz-refined .ms-latest:disabled{opacity:.45;cursor:default;box-shadow:none}
html:has(body.knyaz-refined .ms-room-open),body.knyaz-refined:has(.ms-room-open){overflow:hidden;overscroll-behavior:none}
body.knyaz-v5.knyaz-refined .ms-messages{overflow-anchor:none}

/* Explicit list categories; keep controls compact and image geometry predictable. */
body.knyaz-v5.knyaz-refined .ms-list-tools{display:flex;gap:5px;align-items:center}
body.knyaz-v5.knyaz-refined .ms-list-tools select{width:110px;min-width:0;height:44px;min-height:44px;padding:5px;font-size:13px;margin:0;flex:1 1 110px}
body.knyaz-v5.knyaz-refined .ms-list-tools>.button{flex:1 1 auto;white-space:nowrap}
body.knyaz-v5.knyaz-refined .ms-list-tabs>[data-ms="group-new"]{font-size:10px!important;line-height:1.1}
body.knyaz-v5.knyaz-refined .ms-message-files .ms-photo{display:block;width:100%;height:160px;overflow:hidden}
body.knyaz-v5.knyaz-refined .ms-message-files .ms-photo img{display:block;width:100%;height:160px;object-fit:contain;margin:0}
body.knyaz-v5.knyaz-refined .ms-compose-line textarea{resize:none}

@media(max-width:760px) and (max-height:500px){
 body.knyaz-refined .main:has(>#content>.ms-layout)>:is(.topbar,.quick-workspaces),body.knyaz-refined #content:has(>.ms-layout)>:is(.ms-privacy,.refine-context-tabs,.view-head){display:none!important}
 body.knyaz-v5.knyaz-refined #content>.ms-layout:not(.ms-room-open){min-height:0}
 body.knyaz-v5.knyaz-refined #content>.ms-layout .ms-sidebar{grid-template-rows:48px 48px 48px minmax(0,1fr)}
 body.knyaz-v5.knyaz-refined #content>.ms-layout .ms-room-list{min-height:0}
}

@media(max-width:760px) and (max-height:500px){body.knyaz-refined .main:has(>#content>.ms-layout:not(.ms-room-open))>.topbar{display:flex!important}}

body.knyaz-v5.knyaz-refined .ms-list-tools{flex-wrap:wrap}
body.knyaz-v5.knyaz-refined .ms-kind-filters{display:flex;gap:2px;flex:1 1 auto}
body.knyaz-v5.knyaz-refined .ms-kind-filters>.button{min-height:44px;height:44px;padding:3px 5px;font-size:11px;flex:1}
body.knyaz-v5.knyaz-refined .ms-list-tools>[data-ms="unread-only"]{flex:0 0 auto;font-size:0!important;width:48px;gap:2px;padding:3px!important}
body.knyaz-v5.knyaz-refined .ms-list-tools>[data-ms="unread-only"] span{font-size:11px}
