/* Shared native upload controls: preserve validation, labels and file handlers. */
input[type="file"]:not([hidden]):not(.chat-feature-file-input){
 box-sizing:border-box;display:block;max-width:100%;min-width:0;width:100%;
 padding:8px!important;border:1px dashed #bdced7!important;border-radius:12px!important;
 background:#f7fbfd!important;color:#475467;font:inherit;font-size:13px;line-height:1.5;
 overflow:hidden;text-overflow:ellipsis;cursor:pointer;
}
input[type="file"]::file-selector-button{
 min-height:42px;margin:0 12px 0 0;padding:10px 16px;border:1px solid transparent;
 border-radius:9px;background:#0a0a0a;color:#fff;font:inherit;font-size:13px;
 font-weight:650;cursor:pointer;transition:background .15s,border-color .15s;
}
input[type="file"]:hover::file-selector-button{background:#007fae}
input[type="file"]:focus-visible{outline:3px solid #00a8e8;outline-offset:3px}
input[type="file"]:disabled{cursor:not-allowed;opacity:.6}
input[type="file"]:disabled::file-selector-button{cursor:not-allowed;background:#667085}
.composer-image-picker{max-width:100%;min-width:0}
.composer-image-picker input[type="file"]{margin-top:8px}
/* Optional reply/file rows must not create implicit, oversized grid tracks. */
.chat-feature-list,.chat-feature-main,.chat-feature-pane{min-height:0}
.chat-feature-pane{display:flex!important;flex-direction:column;overflow:hidden;height:100%;min-width:0}
.chat-feature-pane-head{flex:0 0 auto;position:relative}
.chat-feature-messages{flex:1 1 0;min-height:0;overflow-y:auto;overscroll-behavior-y:contain;overflow-x:hidden}
.chat-feature-reply,.chat-feature-file-draft,.chat-feature-blocked,.chat-feature-composer{flex:0 0 auto}
.chat-feature-thread-list{flex:1 1 0;min-height:0;overflow-y:auto;overscroll-behavior-y:contain}
.chat-feature-person{flex:1;min-width:0;overflow:hidden}
.chat-feature-person>span:last-child,.chat-profile-name{min-width:0}
.chat-feature-person strong{min-width:0;max-width:100%}
.chat-feature-person .chat-profile-name>span:first-child{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.chat-feature-person small{display:block;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.chat-feature-back,.chat-feature-head-more,.chat-avatar-slot{flex-shrink:0}
.chat-feature-file strong{max-width:100%;overflow-wrap:anywhere}
.chat-feature-bubble-wrap,.chat-feature-attachment{min-width:0}
@media(max-width:740px){
 input[type="file"]::file-selector-button{min-height:44px;padding:10px 14px}
 html.spro-chat-open,body.spro-chat-open{overflow:hidden!important;overscroll-behavior:none}
 body.spro-chat-open .mobile-header,body.spro-chat-open .bottom-nav,
 body.spro-chat-open aside.left,body.spro-chat-open aside.right{display:none!important}
 body.spro-chat-open .chat-feature-root{
  position:fixed!important;top:var(--spro-chat-top,0px)!important;left:0!important;right:0!important;
  width:100%!important;height:var(--spro-chat-height,100dvh)!important;min-height:0!important;
  margin:0!important;border:0!important;border-radius:0!important;z-index:1000;box-sizing:border-box;
 }
 body.spro-chat-open .chat-feature-main{height:100%;min-height:0}
 body.spro-chat-open .chat-feature-pane-head{
  height:auto!important;min-height:62px;padding:calc(8px + env(safe-area-inset-top,0px)) 10px 8px!important;
  box-sizing:border-box;z-index:4;background:#fff;
 }
 body.spro-chat-open .chat-feature-composer{
  margin:7px 8px calc(8px + env(safe-area-inset-bottom,0px))!important;
 }
 body.spro-chat-open .chat-feature-blocked{padding-bottom:calc(13px + env(safe-area-inset-bottom,0px))}
 body.spro-chat-open .chat-feature-back{display:inline-flex;min-width:44px;min-height:44px;align-items:center;justify-content:center}
 body.spro-chat-open .chat-feature-head-more>button{min-width:44px;min-height:44px}
 body.spro-chat-open .chat-feature-toast{bottom:calc(80px + env(safe-area-inset-bottom,0px));z-index:100010}
 .chat-feature-pane-head .chat-feature-person{gap:8px}
 .chat-feature-file{max-width:100%}
 .chat-feature-attachment img{max-width:100%}
}
@media(prefers-reduced-motion:reduce){input[type="file"]::file-selector-button{transition:none}}
