/* PC118 — height follows ACTUAL page position, not viewport-width breakpoints.
   Replaces PC117. Only chat.php. */
html:has(body.pc104-chat-page),body.pc104-chat-page{overflow-x:hidden!important}
body.pc104-chat-page{overflow-y:hidden!important;min-height:0!important}
body.pc104-chat-page>.footer{display:none!important}
body.pc104-chat-page main.page{
 display:flex!important;flex-direction:column!important;
 height:var(--pc118-page-height,calc(100dvh - 105px))!important;
 min-height:0!important;max-height:none!important;
 overflow:hidden!important;padding-bottom:0!important;
 box-sizing:border-box!important;
}
body.pc104-chat-page .pc100-chat-title{flex:0 0 auto!important;margin-top:0!important;margin-bottom:5px!important}
body.pc104-chat-page .pc45-chat-layout{
 display:flex!important;flex-direction:column!important;flex:1 1 0!important;
 width:100%!important;min-height:0!important;height:auto!important;
 margin:0!important;padding:0!important;overflow:hidden!important;
}
body.pc104-chat-page #pc-chat{
 position:relative!important;inset:auto!important;top:auto!important;left:auto!important;
 transform:none!important;width:100%!important;
 height:auto!important;max-height:none!important;min-height:0!important;
 flex:1 1 0!important;box-sizing:border-box!important;
 display:flex!important;flex-direction:column!important;overflow:hidden!important;
}
body.pc104-chat-page #pc-chat > :not(#pc-chat-log){
 flex-shrink:0!important;min-height:0!important;box-sizing:border-box!important;
}
body.pc104-chat-page #pc-chat > #pc-chat-log{
 flex:1 1 0!important;min-height:0!important;height:0!important;
 max-height:none!important;overflow-y:auto!important;overflow-x:hidden!important;
 overscroll-behavior:contain!important;box-sizing:border-box!important;
}
body.pc104-chat-page #pc-chat .pc105-rooms{display:flex!important;flex-wrap:nowrap!important;overflow-x:auto!important;overflow-y:hidden!important}
body.pc104-chat-page #pc-chat .pc105-room-tab{flex:0 0 auto!important}
body.pc104-chat-page #pc-chat [hidden]{display:none!important}
body.pc104-chat-page #pc-chat #pc25-chat-composer,
body.pc104-chat-page #pc-chat .pc101-chat-tools{position:relative!important;bottom:auto!important;transform:none!important}
body.pc104-chat-page #pc-chat #pc-chat-form{margin:0!important}
body.pc104-chat-page #pc-chat-form .pc25-chat-input-wrap>.input{min-width:0!important;flex:1 1 0!important}
/* Intermediate widths may have two-line navigation. Height must shrink the
   log, not the composer, regardless of where responsive width breakpoint is. */
body.pc104-chat-page.pc118-compact #pc-chat .pc-chat-bar{padding:5px 9px!important}
body.pc104-chat-page.pc118-compact #pc-chat .pc-chat-bar small{display:none!important}
body.pc104-chat-page.pc118-compact #pc-chat .pc105-rooms{padding:3px 7px!important}
body.pc104-chat-page.pc118-compact #pc-chat .pc101-chat-tools{margin:2px 7px!important;padding:0!important}
body.pc104-chat-page.pc118-compact #pc-chat #pc-chat-form{padding:4px 7px!important}
body.pc104-chat-page.pc118-tight .pc100-chat-title h1{font-size:18px!important;line-height:1.1!important}
body.pc104-chat-page.pc118-tight #pc-chat .pc-chat-bar{padding:3px 8px!important}
body.pc104-chat-page.pc118-tight #pc-chat .pc105-rooms{padding:2px 7px!important}
body.pc104-chat-page.pc118-tight #pc-chat .pc105-room-tab{padding:4px 7px!important}
body.pc104-chat-page.pc118-tight #pc-chat .pc101-chat-tools{margin:0 5px!important;gap:3px!important}
body.pc104-chat-page.pc118-tight #pc-chat #pc-chat-form{padding:3px 6px!important}
/* An exceptionally short browser must remain usable; never silently clip send. */
body.pc104-chat-page.pc118-emergency{overflow-y:auto!important}
body.pc104-chat-page.pc118-emergency main.page{height:auto!important;min-height:310px!important;overflow:visible!important}
body.pc104-chat-page.pc118-emergency .pc45-chat-layout,
body.pc104-chat-page.pc118-emergency #pc-chat{min-height:290px!important;overflow:visible!important}
body.pc104-chat-page.pc118-emergency #pc-chat-log{min-height:60px!important}
