/* Structural fallback only for browsers without CSS @scope. */
.chat-no-scope .client-chat,.chat-no-scope .client-chat *{box-sizing:border-box}
.chat-no-scope .client-chat [hidden]{display:none!important}
.chat-no-scope .client-chat #create-panel{display:flex;flex-direction:column;height:calc(100vh - 190px);min-height:0;overflow:hidden}
.chat-no-scope .client-chat .conversation-header{display:flex;align-items:center;gap:12px;flex:0 0 auto;min-height:72px;padding:12px 20px}
.chat-no-scope .client-chat .conversation-back{display:flex;align-items:center;justify-content:center;flex:0 0 30px;width:30px;height:42px;padding:0}
.chat-no-scope .client-chat .conversation-person{flex:1 1 0%;min-width:0}
.chat-no-scope .client-chat .conversation-person h1{margin:0}
.chat-no-scope .client-chat .conversation-person p{margin:2px 0 0}
.chat-no-scope .client-chat #create-panel .client-chat-history{display:flex;flex:1 1 0%;flex-direction:column;gap:10px;min-height:0;overflow-y:auto;margin:0;-webkit-overflow-scrolling:touch}
.chat-no-scope .client-chat .client-chat-bubble{position:relative;flex:0 0 auto;max-width:78%;padding:9px 12px 6px;white-space:pre-wrap;word-wrap:break-word}
.chat-no-scope .client-chat .client-chat-bubble.assistant{align-self:flex-start}
.chat-no-scope .client-chat .client-chat-bubble.user{align-self:flex-end}
.chat-no-scope .client-chat .conversation-day{align-self:center;margin-bottom:12px;padding:5px 12px}
.chat-no-scope .client-chat .conversation-message-meta{display:flex;justify-content:flex-end;align-items:center;gap:5px;margin:3px 0 0 18px;white-space:nowrap}
.chat-no-scope .client-chat .client-direction-choices{display:flex;flex-wrap:wrap;gap:6px;margin:12px 0 6px}
.chat-no-scope .client-chat .client-direction-choices button{min-height:36px;padding:8px 11px;max-width:100%;white-space:normal}
.chat-no-scope .client-chat #client-form{flex:0 0 auto}
.chat-no-scope .client-chat #description-field{margin:0}
.chat-no-scope .client-chat #description-field .conversation-compose{display:flex;align-items:flex-end;gap:10px;min-width:0}
.chat-no-scope .client-chat #description-field #client-text{display:block;flex:1 1 0%;width:0;min-width:0;min-height:46px;max-height:110px;margin:0;padding:12px 16px;resize:none;overflow-y:auto}
.chat-no-scope .client-chat .conversation-action,.chat-no-scope .client-chat .conversation-attach{display:flex;align-items:center;justify-content:center;flex:0 0 46px;width:46px;height:46px}
.chat-no-scope .client-chat .chat-sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important}
.chat-no-scope .client-chat .conversation-record-bar{display:flex;align-items:center;gap:8px;min-width:0;height:46px}
.chat-no-scope .client-chat .conversation-record-label{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.chat-no-scope body.client-cabinet.chat-mode{height:var(--chat-viewport,100vh);min-height:0;overflow:hidden;padding-bottom:0}
.chat-no-scope body.client-cabinet.chat-mode .client-main{height:100%;max-width:1100px;margin:0 auto;padding:16px}
.chat-no-scope body.client-cabinet.chat-mode .client-chat #create-panel{height:100%}

/* Bound the composer to the available width, including narrow iPhone viewports. */
@media(max-width:680px){
 body.client-cabinet.chat-mode,body.client-cabinet.offer-chat-mode,body.dashboard-body.partner-chat-mode{height:var(--chat-viewport,100vh);min-height:0;overflow:hidden;padding-bottom:0;-webkit-text-size-adjust:100%;text-size-adjust:100%}
 body.client-cabinet.chat-mode .client-main{width:100%;max-width:100%;height:100%;margin:0;padding:0}
 body.dashboard-body.partner-chat-mode .app-shell,body.dashboard-body.partner-chat-mode .app-main,body.dashboard-body.partner-chat-mode .app-content{height:100%;min-height:0}
 .client-chat #create-panel{width:100%;max-width:100%;min-width:0}
 .client-chat .conversation-header{min-height:64px;padding:10px 12px;gap:8px}
 .client-chat .conversation-person{min-width:0}
 .client-chat .conversation-person h1{font-size:16px}
 .client-chat .conversation-person p{font-size:11px;line-height:1.4;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
 .client-chat #create-panel #client-form{width:100%;max-width:100%;padding:8px 10px;padding-bottom:calc(8px + env(safe-area-inset-bottom,0px))}
 .client-chat #description-field .conversation-compose{display:flex;flex-wrap:nowrap;min-width:0;gap:6px}
 .client-chat #description-field #client-text{flex:1 1 0%;width:0;min-width:0;font-size:16px}
 .client-chat .conversation-action,.client-chat .conversation-attach{flex:0 0 42px;width:42px;height:42px;min-width:42px;min-height:42px}
 .client-chat .conversation-clear{flex:0 0 36px;width:36px;height:40px;padding:8px}
 .client-chat .conversation-clear svg{width:20px;height:20px}
 body.client-cabinet .offer-thread-form,body.dashboard-body .partner-order-chat-form{box-sizing:border-box;width:100%;min-width:0;flex-wrap:nowrap;align-items:flex-end;gap:6px;padding-left:8px;padding-right:8px}
 body.client-cabinet .offer-thread-form textarea,body.dashboard-body .partner-order-chat-form textarea{box-sizing:border-box;flex:1 1 0%;width:0;min-width:0;font-size:16px;resize:none}
 body.client-cabinet .offer-thread-history,body.dashboard-body .partner-order-chat-history{min-width:0;-webkit-overflow-scrolling:touch}
 .chat-no-scope body.client-cabinet.chat-mode .client-main{padding:0}
 .chat-no-scope .client-chat .client-chat-bubble{max-width:88%}
 body.chat-mode .portal-notifications{top:10px;right:8px;font-size:11px}
 body.chat-mode .portal-notifications>summary{max-width:140px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:7px 10px}
}
