:root{font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;background:#eef2f6;color:#152238;--teal:#087c8d;--teal-dark:#056878;--teal-soft:#dff3f5;--line:#e3e9ef;--muted:#6d7a8a;--panel:#fff;--chat:#f0f3f7;--mine:#d9f2f2}*{box-sizing:border-box}html,body{height:100%}body{margin:0}a{color:var(--teal);text-decoration:none}button,input,select,textarea{font:inherit}.center-card{width:min(440px,92vw);margin:8vh auto;background:#fff;padding:32px;border-radius:18px;box-shadow:0 15px 50px #0001}.brand{font-weight:850;letter-spacing:.08em;color:#0b6f80}h1{margin:.4em 0}label{display:block;font-size:13px;font-weight:700;margin:14px 0 6px}input,select,textarea{width:100%;padding:12px 13px;border:1px solid #d8dee8;border-radius:10px;background:#fff;color:#172033;outline:none}input:focus,select:focus,textarea:focus{border-color:#70b9c2;box-shadow:0 0 0 3px #0c819018}button,.button{display:inline-block;border:0;background:#0c6f86;color:#fff;padding:12px 16px;border-radius:10px;font-weight:700;cursor:pointer}.button.secondary{background:#344054}.center-card button{width:100%;margin-top:18px}.muted{color:#667085}.notice{padding:12px;background:#ecfdf3;border:1px solid #abefc6;border-radius:10px}.error{padding:12px;background:#fef3f2;border:1px solid #fecdca;border-radius:10px}
.app{overflow:hidden;background:var(--chat)}.topbar{height:68px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 24px;position:relative;z-index:10}.brand-wrap{display:flex;align-items:center;gap:11px}.brand-mark{width:34px;height:34px;border-radius:10px;display:grid;place-items:center;background:linear-gradient(135deg,#087c8d,#16a5ac);color:#fff;font-weight:900;box-shadow:0 6px 18px #0a82942b}.account{display:flex;align-items:center;gap:10px;font-size:14px}.account-name{font-weight:700}.role-pill{padding:5px 9px;border-radius:999px;background:#eef8fa;color:#086d7c;font-size:12px;font-weight:800}.logout-link{padding-left:4px}.chat-layout{display:grid;grid-template-columns:360px minmax(0,1fr);height:calc(100vh - 68px);background:var(--chat)}
.sidebar{background:#fff;border-right:1px solid var(--line);display:flex;flex-direction:column;min-height:0}.sidebar-head{height:78px;padding:15px 16px 12px 20px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #edf0f3}.sidebar-head h2{font-size:20px;margin:0;color:#182536}.sidebar-head p{font-size:12px;color:var(--muted);margin:2px 0 0}.new-chat-btn{width:38px;height:38px;padding:0;border-radius:50%;font-size:24px;line-height:1;background:#eaf7f8;color:var(--teal);transition:.15s}.new-chat-btn:hover{background:#d7f0f2;transform:translateY(-1px)}.new-conversation{padding:14px 16px;border-bottom:1px solid var(--line);background:#f8fbfc}.new-conversation[hidden]{display:none}.compact label{margin:8px 0 4px}.compact input,.compact select{padding:10px 11px}.compact button{width:100%;margin-top:10px}.conversation-list{overflow:auto;padding:8px}.sidebar-empty{padding:30px 16px;color:var(--muted);text-align:center}.conversation{display:flex;gap:11px;padding:11px;border-radius:13px;margin:2px 0;color:#172033;transition:.12s}.conversation:hover{background:#f5f8fa}.conversation.active{background:#eaf6f7}.avatar{flex:0 0 auto;width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:#dceff1;color:#087382;font-size:13px;font-weight:850;letter-spacing:.03em}.conversation.active .avatar{background:#0b8190;color:#fff}.conversation-copy{min-width:0;flex:1}.conversation-top,.conversation-bottom{display:flex;align-items:center;justify-content:space-between;gap:8px}.conversation-top strong{font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.conversation-top time{font-size:11px;color:#8b95a3;flex:none}.conversation-bottom{margin-top:3px}.conversation-bottom span{font-size:12.5px;color:#74808f;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.conversation small{display:block;color:#8b95a3;margin-top:4px;font-size:11px}.unread-badge{min-width:20px;height:20px;padding:0 5px;border-radius:999px;background:#0b8c94;color:#fff;display:grid;place-items:center;font-size:10px;flex:none}
.chat-panel{display:flex;flex-direction:column;min-width:0;min-height:0;background:linear-gradient(rgba(244,247,250,.96),rgba(244,247,250,.96)),radial-gradient(circle at 20% 20%,#cbd5df 1px,transparent 1px);background-size:auto,28px 28px}.chat-head{height:78px;padding:12px 22px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:12px}.avatar-large{width:46px;height:46px;background:#0b8190;color:#fff}.chat-title{display:flex;flex-direction:column;min-width:0}.chat-title strong{font-size:15px}.chat-title span{font-size:12px;color:var(--muted);margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chat-status{margin-left:auto;font-size:12px;color:#7c8795;display:flex;align-items:center;gap:7px}.status-dot{width:8px;height:8px;border-radius:50%;background:#38b27b;box-shadow:0 0 0 3px #38b27b20}.mobile-back{display:none;background:transparent;color:#203046;font-size:32px;padding:0 6px}.messages-loading{margin:auto;color:#7c8795;text-align:center}#messages{flex:1;overflow:auto;padding:24px clamp(18px,4vw,60px);scroll-behavior:smooth}.date-separator{display:flex;justify-content:center;margin:12px 0 18px}.date-separator span{background:#fff;border:1px solid #e5eaef;box-shadow:0 1px 3px #0000000a;color:#778391;border-radius:999px;padding:5px 11px;font-size:11px}.message-row{display:flex;margin:7px 0}.message-row.mine{justify-content:flex-end}.message-row.theirs{justify-content:flex-start}.msg{position:relative;max-width:min(650px,74%);border-radius:16px;padding:9px 11px 7px;background:#fff;box-shadow:0 1px 2px #18223013,0 4px 12px #18223008;line-height:1.42}.mine .msg{background:var(--mine);border-bottom-right-radius:5px}.theirs .msg{border-bottom-left-radius:5px}.sender-name{font-size:11px;font-weight:800;color:#087c8d;margin-bottom:4px}.message-body{font-size:14px;overflow-wrap:anywhere;padding-right:4px}.message-meta{display:flex;justify-content:flex-end;align-items:center;gap:4px;min-width:52px;margin-top:4px;color:#7a8592;font-size:10px}.checks{font-size:11px;letter-spacing:-3px;padding-right:3px;color:#8794a1}.checks.read{color:#1689a2}.file-attachment{display:flex;align-items:center;gap:10px;background:#ffffff99;border:1px solid #dbe5e8;border-radius:11px;padding:9px 10px;margin-bottom:7px;color:#243447}.file-attachment>span{font-size:22px}.file-attachment div{min-width:0}.file-attachment strong,.file-attachment small{display:block;max-width:300px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.file-attachment strong{font-size:12px}.file-attachment small{font-size:10px;color:#788694;margin-top:1px}.image-attachment{display:block;margin:-3px -4px 7px}.image-attachment img{display:block;max-width:100%;max-height:310px;border-radius:11px;object-fit:cover}
#sendForm{background:#fff;border-top:1px solid var(--line)}.attachment-preview{margin:8px 14px -3px 14px;padding:8px 10px;background:#f1f7f8;border-radius:9px;font-size:12px;display:flex;justify-content:space-between;align-items:center}.attachment-preview[hidden]{display:none}.attachment-preview button{background:transparent;color:#586674;padding:0 5px;font-size:20px}.composer{display:grid;grid-template-columns:44px minmax(0,1fr) 96px;align-items:end;gap:9px;padding:12px 14px}.attach-btn{width:44px;height:44px;margin:0;border-radius:50%;display:grid;place-items:center;cursor:pointer;background:#f1f5f7;font-size:19px;transition:.15s}.attach-btn:hover{background:#e5edef}.file-input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.composer textarea{min-height:44px;max-height:130px;resize:none;border-radius:22px;padding:11px 16px;line-height:21px;background:#f5f7f9}.send-btn{height:44px;border-radius:22px;padding:0 16px;display:flex;align-items:center;justify-content:center;gap:7px;background:var(--teal)}.send-btn:hover{background:var(--teal-dark)}.send-btn:disabled{opacity:.55;cursor:not-allowed}.send-btn b{font-size:13px}.empty-state{margin:auto;text-align:center;color:#7b8795}.empty-state .empty-icon{font-size:44px}.empty-state h2{margin:10px 0 4px;color:#344054}.empty-state p{margin:0}
.admin{padding:28px;max-width:1200px;margin:auto}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.stat,.panel{background:#fff;border-radius:14px;padding:20px;box-shadow:0 1px 4px #0001}.stat strong{font-size:30px;display:block}.stat span{color:#667085}.admin-actions{display:flex;gap:10px;margin:20px 0}.two-col{display:grid;grid-template-columns:360px 1fr;gap:18px}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse}th,td{padding:10px;border-bottom:1px solid #eee;text-align:left;font-size:14px}.empty{margin:auto;color:#667085}
@media(max-width:800px){.app{overflow:hidden}.topbar{height:58px;padding:0 12px}.brand-mark{width:30px;height:30px;border-radius:9px}.brand{font-size:13px}.account-name,.role-pill{display:none}.chat-layout{display:block;height:calc(100vh - 58px);position:relative}.sidebar,.chat-panel{position:absolute;inset:0}.sidebar{z-index:2;border-right:0}.chat-panel{z-index:3;transform:translateX(100%);transition:transform .2s ease}.mobile-chat-open .chat-panel{transform:translateX(0)}.sidebar-head,.chat-head{height:66px}.chat-head{padding:9px 10px}.mobile-back{display:block}.chat-status{display:none}.avatar-large{width:40px;height:40px}.conversation{padding:10px}.conversation-list{padding:6px}.msg{max-width:87%}#messages{padding:18px 10px}.composer{grid-template-columns:42px minmax(0,1fr) 50px;padding:8px}.attach-btn{width:42px;height:42px}.send-btn{width:44px;height:42px;padding:0;border-radius:50%}.send-btn span{display:none}.send-btn b{font-size:15px}.admin{padding:16px}.stats{grid-template-columns:1fr 1fr}.two-col{grid-template-columns:1fr}}
@media(max-width:440px){.logout-link{font-size:12px}.brand-wrap{gap:8px}.msg{max-width:91%}.sidebar-head{padding-left:14px}}
/* SBIG Connect V1.2 */
.topbar{height:60px}.chat-layout{height:calc(100vh - 60px)}.notify-btn{background:#f1f6f7;color:#567;padding:7px 9px;border-radius:999px;font-size:14px}.conversation-search{height:52px;padding:7px 10px;border-bottom:1px solid var(--line);position:relative}.conversation-search span{position:absolute;left:22px;top:17px;color:#8793a1;font-size:18px}.conversation-search input{height:38px;border:0;background:#f3f6f8;border-radius:19px;padding:8px 12px 8px 36px;box-shadow:none}.logo-avatar{background:#fff!important;overflow:hidden;border:1px solid #e6ecef}.logo-avatar img{width:100%;height:100%;object-fit:contain;padding:5px}.chat-status .status-dot{background:#aeb7c1;box-shadow:none}.chat-status .status-dot.online{background:#35b77d;box-shadow:0 0 0 3px #35b77d20}.typing-line{height:28px;padding:2px clamp(18px,4vw,60px);font-size:11px;color:#718091;display:flex;align-items:center;gap:3px}.typing-line[hidden]{display:none}.typing-line>span{width:5px;height:5px;border-radius:50%;background:#7b929b;animation:typingDot 1.1s infinite}.typing-line>span:nth-child(2){animation-delay:.15s}.typing-line>span:nth-child(3){animation-delay:.3s}.typing-line b{margin-left:5px;font-weight:600}@keyframes typingDot{0%,60%,100%{transform:translateY(0);opacity:.45}30%{transform:translateY(-3px);opacity:1}}.attachment-preview{min-height:50px}.preview-file{display:flex;align-items:center;gap:9px;min-width:0}.preview-file img{width:42px;height:42px;border-radius:8px;object-fit:cover}.preview-file span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.modal-backdrop{position:fixed;inset:0;background:#0f1e2d80;z-index:100;display:grid;place-items:center;padding:18px}.modal-backdrop[hidden]{display:none}.modal-card{width:min(440px,94vw);background:#fff;border-radius:20px;padding:25px;box-shadow:0 25px 80px #0003;position:relative}.modal-card h2{margin:7px 0 5px}.modal-card>p{margin:0 0 14px;color:var(--muted)}.modal-close{position:absolute;right:12px;top:10px;background:transparent;color:#657382;font-size:26px;padding:4px 8px}.modal-icon{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:#e8f6f7;color:var(--teal);font-size:25px}.modal-card form button{width:100%;margin-top:16px}.conversation[hidden]{display:none}@media(max-width:800px){.topbar{height:56px}.chat-layout{height:calc(100vh - 56px)}.conversation-search{height:50px}.chat-title span{max-width:190px}.notify-btn{padding:6px 8px}.typing-line{padding-left:12px}.modal-card{padding:22px}}
/* SBIG Connect V1.3 — reliability + polish */
.connection-banner{position:fixed;top:60px;left:0;right:0;z-index:80;background:#9f2d2d;color:#fff;text-align:center;padding:7px 12px;font-size:12px;font-weight:700;box-shadow:0 2px 8px #0002}.connection-banner[hidden]{display:none}.connection-down .chat-layout{padding-top:29px}.send-btn.sending{pointer-events:none}.send-btn.sending span{opacity:.75}.send-btn.sending b{animation:sendPulse .7s infinite alternate}@keyframes sendPulse{to{transform:translateX(3px)}}.checks{cursor:default}.conversation-bottom span{line-height:1.25}.image-attachment img{background:#eef2f4}.composer textarea:focus{background:#fff}.notify-btn:focus-visible,.new-chat-btn:focus-visible,.send-btn:focus-visible,.attach-btn:focus-visible{outline:3px solid #0b819033;outline-offset:2px}
@media(max-width:800px){.connection-banner{top:56px}.connection-down .chat-layout{padding-top:29px}}


/* SBIG Connect V1.4 — Group branding & mobile polish */
.sbig-header-logo{width:118px;height:42px;object-fit:contain;object-position:left center;display:block}.brand-wrap{display:flex;align-items:center;gap:12px}.brand-wrap .brand{font-size:16px;letter-spacing:.12em}.logo-avatar{background:#fff!important;border:1px solid #e6ebef;overflow:hidden}.logo-avatar img{width:88%;height:88%;object-fit:contain;display:block;margin:auto}.chat-head .logo-avatar{border-radius:14px}.conversation .logo-avatar{border-radius:12px}.login-card{padding-top:26px}.login-brand{display:flex;align-items:center;gap:14px;margin-bottom:20px}.login-brand img{width:150px;height:52px;object-fit:contain;object-position:left center}.login-brand span{font-weight:850;letter-spacing:.14em;color:var(--teal);font-size:16px}.admin-brand{display:flex;align-items:center;gap:12px;font-weight:800;color:var(--teal);letter-spacing:.08em}.admin-brand img{width:105px;height:38px;object-fit:contain;object-position:left center}.image-attachment img{max-width:min(360px,65vw);max-height:330px;border-radius:12px;display:block;object-fit:cover}.file-attachment{min-width:220px}.conversation{position:relative}.unread-badge{min-width:22px;height:22px;padding:0 6px;border-radius:999px;display:inline-flex!important;align-items:center;justify-content:center;background:var(--teal);color:#fff!important;font-size:11px;font-weight:800}.conversation-bottom{display:flex;align-items:center;gap:8px}.conversation-bottom>span{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mobile-back{font-size:30px;line-height:1}.chat-head{min-height:80px}.composer{padding-bottom:max(14px,env(safe-area-inset-bottom))}
@media(max-width:800px){.topbar{height:58px}.sbig-header-logo{width:94px;height:34px}.brand-wrap .brand{font-size:13px}.account-name{display:none}.logout-link{font-size:14px}.chat-layout{height:calc(100dvh - 58px)}body:not(.mobile-chat-open) .chat-panel{display:none}body.mobile-chat-open .sidebar{display:none}body.mobile-chat-open .chat-panel{display:flex}.sidebar{max-height:none!important;height:100%;border-bottom:0!important}.mobile-back{display:inline-flex!important}.chat-head{padding:10px 12px;min-height:64px}.chat-status{display:none}.chat-title{min-width:0}.chat-title strong,.chat-title span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.composer{gap:8px;padding:9px 10px}.attach-btn{width:40px;height:40px}.send-btn{min-width:52px;padding:0 14px}.send-btn span{display:none}.conversation-search{margin:10px 12px}.sidebar-head{padding:14px 14px 8px}.conversation-list{padding:0 8px}.conversation{margin:4px 0}.image-attachment img{max-width:72vw;max-height:280px}}


/* SBIG Connect V1.5A — Reply / Quote only */
.reply-preview{margin:8px 14px -3px;padding:8px 10px;border-left:3px solid var(--teal);background:#f1f7f8;border-radius:8px;display:flex;align-items:center;justify-content:space-between;gap:10px}.reply-preview[hidden]{display:none}.reply-preview>div{min-width:0}.reply-preview strong,.reply-preview span{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.reply-preview strong{font-size:11px;color:var(--teal)}.reply-preview span{font-size:12px;color:#667085;margin-top:2px}.reply-preview button{background:transparent;color:#667085;padding:2px 7px;font-size:19px}.quoted-message{border-left:3px solid #5faab3;background:#ffffff80;border-radius:7px;padding:6px 8px;margin:0 0 7px;max-width:100%}.quoted-message strong,.quoted-message span{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.quoted-message strong{font-size:10px;color:#087c8d}.quoted-message span{font-size:11px;color:#5f6d7a;margin-top:1px}.reply-message-btn{background:transparent;color:#7a8592;padding:0 3px;border-radius:4px;font-size:12px;line-height:1;opacity:.7}.reply-message-btn:hover{color:var(--teal);background:#ffffff80;opacity:1}

/* SBIG Connect V1.5B — Edit / Delete own messages */
.message-actions{display:inline-flex;align-items:center;gap:1px}.edit-message-btn,.delete-message-btn{background:transparent;color:#7a8592;padding:0 3px;border-radius:4px;font-size:12px;line-height:1;opacity:.55}.edit-message-btn:hover{color:var(--teal);background:#ffffff80;opacity:1}.delete-message-btn:hover{color:#b42318;background:#fff1f0;opacity:1}.message-row .message-actions{transition:opacity .15s}@media(hover:hover){.message-row .message-actions{opacity:0}.message-row:hover .message-actions{opacity:1}}@media(max-width:800px){.edit-message-btn,.delete-message-btn{opacity:.8;padding:2px 4px}}

/* V1.5C — pin conversations */
.conversation{position:relative;padding-right:42px}
.pin-conversation-btn{position:absolute;right:10px;top:50%;transform:translateY(-50%);border:0;background:transparent;color:#8a98a6;font-size:20px;line-height:1;cursor:pointer;padding:7px;border-radius:50%;opacity:.72;z-index:3}
.pin-conversation-btn:hover,.pin-conversation-btn:focus{background:rgba(15,136,151,.09);color:#0f8897;opacity:1;outline:none}
.conversation.is-pinned .pin-conversation-btn{color:#0f8897;opacity:1}
.conversation.is-pinned:before{content:"";position:absolute;left:0;top:10px;bottom:10px;width:3px;border-radius:3px;background:#0f8897}


/* V1.5D archive conversations */
.conversation-search-row{display:flex;gap:8px;align-items:center;padding:0 8px 8px}.conversation-search-row .conversation-search{flex:1;min-width:0;margin:0}.archived-toggle{border:0;border-radius:14px;padding:8px 10px;background:#eef4f6;color:#3b5963;font-weight:700;cursor:pointer;white-space:nowrap}.archived-toggle b{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;border-radius:9px;padding:0 5px;background:#d9e8ec;font-size:11px}.archived-toggle.active{background:#dceff2;color:#087b88}.conversation-actions{display:flex;flex-direction:column;gap:3px;align-self:center}.archive-conversation-btn,.pin-conversation-btn{border:0;background:transparent;cursor:pointer;line-height:1;font-size:18px;color:#73868d;padding:4px;border-radius:7px}.archive-conversation-btn:hover,.pin-conversation-btn:hover{background:rgba(0,0,0,.05)}.conversation.is-archived{opacity:.88}
@media(max-width:700px){.conversation-search-row{align-items:stretch;flex-direction:column}.archived-toggle{align-self:flex-start}}


/* SBIG Connect V1.5E — Search inside active conversation */
.chat-search-btn{margin-left:6px;width:36px;height:36px;border-radius:10px;background:#f4f7f9;color:#516170;border:1px solid #e2e8ed;display:inline-flex;align-items:center;justify-content:center;font-size:20px;padding:0}.chat-search-btn:hover{background:#eaf4f5;color:var(--teal);border-color:#cfe4e7}.chat-message-search{height:52px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:9px;padding:8px 18px}.chat-message-search[hidden]{display:none}.chat-message-search>span{font-size:18px;color:#778391}.chat-message-search input{flex:1;min-width:0;border:1px solid #dde5ea;border-radius:10px;padding:9px 11px;font-size:13px;outline:none;background:#f8fafb}.chat-message-search input:focus{border-color:#9bcbd1;box-shadow:0 0 0 3px #0b819012}.chat-message-search b{font-size:11px;color:#7a8592;white-space:nowrap}.chat-message-search button{background:transparent;color:#7a8592;font-size:21px;padding:2px 7px}.message-row.search-hit .msg{box-shadow:0 0 0 2px #0b819024,0 4px 12px #18223008}@media(max-width:800px){.chat-search-btn{width:34px;height:34px}.chat-message-search{height:50px;padding:7px 10px}.chat-message-search b{display:none}}


/* SBIG Connect V1.5F — Emoji picker */
.emoji-wrap{position:relative;display:flex;align-items:center}.emoji-btn{width:40px;height:40px;border:0;border-radius:10px;background:transparent;color:#6d7b87;font-size:22px;display:grid;place-items:center;padding:0;cursor:pointer}.emoji-btn:hover,.emoji-btn[aria-expanded="true"]{background:#edf5f6;color:var(--teal)}.emoji-picker{position:absolute;left:0;bottom:48px;width:252px;max-width:min(72vw,252px);padding:10px;background:#fff;border:1px solid #dfe7eb;border-radius:14px;box-shadow:0 16px 40px #10243026;display:grid;grid-template-columns:repeat(6,1fr);gap:4px;z-index:40}.emoji-picker[hidden]{display:none}.emoji-choice{border:0;background:transparent;border-radius:8px;font-size:21px;line-height:1;padding:7px 4px;cursor:pointer}.emoji-choice:hover,.emoji-choice:focus{background:#eef6f7;outline:none}@media(max-width:800px){.emoji-btn{width:38px;height:38px}.emoji-picker{left:-44px;bottom:46px;grid-template-columns:repeat(6,1fr)}}

/* SBIG Connect V1.5F.1 — composer/text area layout hotfix */
.composer{
  display:grid;
  grid-template-columns:44px 40px minmax(0,1fr) 96px;
  align-items:center;
  gap:9px;
  padding:12px 14px;
}
.composer textarea{
  grid-column:auto;
  width:100%;
  min-width:0;
  min-height:44px;
  height:44px;
  max-height:130px;
  margin:0;
  resize:none;
  overflow-y:auto;
  border-radius:22px;
  padding:11px 16px;
  line-height:21px;
  background:#f5f7f9;
}
.emoji-wrap{width:40px;height:44px;justify-content:center}
.attach-btn{margin:0}
.send-btn{margin:0;width:auto;min-width:96px}

@media(max-width:800px){
  .composer{
    grid-template-columns:42px 38px minmax(0,1fr) 50px;
    align-items:center;
    gap:6px;
    padding:8px 10px max(8px,env(safe-area-inset-bottom));
  }
  .composer textarea{
    min-width:0;
    width:100%;
    min-height:42px;
    height:42px;
    max-height:110px;
    padding:10px 14px;
    line-height:20px;
  }
  .emoji-wrap{width:38px;height:42px}
  .send-btn{width:46px;min-width:46px;height:42px;padding:0;border-radius:21px}
}

@media(max-width:440px){
  .composer{
    grid-template-columns:40px 36px minmax(0,1fr) 46px;
    gap:5px;
    padding-left:7px;
    padding-right:7px;
  }
  .attach-btn{width:40px;height:40px}
  .emoji-btn{width:36px;height:40px;font-size:20px}
  .emoji-wrap{width:36px;height:40px}
  .composer textarea{height:40px;min-height:40px;padding:9px 13px}
  .send-btn{width:44px;min-width:44px;height:40px}
}

/* SBIG Connect V1.5F.2 — hard composer alignment fix */
.composer{
  display:flex !important;
  flex-wrap:nowrap !important;
  align-items:center !important;
  width:100% !important;
  gap:8px !important;
  padding:10px 14px !important;
}
.composer > .attach-btn{
  flex:0 0 44px !important;
  width:44px !important;
  height:44px !important;
}
.composer > .emoji-wrap{
  flex:0 0 40px !important;
  width:40px !important;
  height:44px !important;
}
.composer > textarea{
  flex:1 1 auto !important;
  width:auto !important;
  min-width:0 !important;
  max-width:none !important;
  min-height:44px !important;
  height:44px !important;
  margin:0 !important;
}
.composer > .send-btn{
  flex:0 0 96px !important;
  width:96px !important;
  min-width:96px !important;
  height:44px !important;
  margin:0 !important;
}

@media(max-width:800px){
  .composer{gap:6px !important;padding:8px 10px max(8px,env(safe-area-inset-bottom)) !important}
  .composer > .attach-btn{flex-basis:40px !important;width:40px !important;height:40px !important}
  .composer > .emoji-wrap{flex-basis:36px !important;width:36px !important;height:40px !important}
  .composer > textarea{min-height:40px !important;height:40px !important;padding:9px 13px !important}
  .composer > .send-btn{flex-basis:46px !important;width:46px !important;min-width:46px !important;height:40px !important;padding:0 !important;border-radius:20px !important}
}
