.connect-shell{display:grid;grid-template-columns:260px minmax(0,1fr) 230px;gap:1rem;min-height:620px}.connect-sidebar,.connect-conversation,.connect-info{padding:1rem}.connect-search{display:flex;gap:.4rem;margin-bottom:1rem}.connect-search input{min-width:0}.connect-section-title,.connect-info h3{font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:var(--pbl-muted,#777);margin:.75rem 0}.connect-list{display:grid;gap:.35rem}.connect-thread{display:block;padding:.7rem;border-radius:10px;color:inherit;text-decoration:none}.connect-thread:hover,.connect-thread.active{background:rgba(87,31,44,.1)}.connect-thread small{display:block;color:var(--pbl-muted,#777);margin-top:.25rem}.connect-conversation{display:flex;flex-direction:column;min-width:0}.connect-conversation-header{display:flex;align-items:flex-start;justify-content:space-between;border-bottom:1px solid #eadfe0;padding-bottom:.8rem}.connect-conversation-header h2{margin:.2rem 0}.connect-messages{flex:1;overflow:auto;display:grid;align-content:start;gap:.7rem;padding:1rem .2rem}.connect-message{max-width:78%;padding:.7rem .85rem;background:#f7f2f1;border-radius:12px}.connect-message.own{justify-self:end;background:#f0e0e3}.connect-message p{margin:.3rem 0;white-space:pre-wrap}.connect-message-meta{display:flex;gap:.5rem;justify-content:space-between;font-size:.78rem}.connect-message-meta time{color:var(--pbl-muted,#777)}.connect-reply{font-size:.78rem;border-left:3px solid #b88a93;padding-left:.5rem;color:#70545a}.connect-composer{border-top:1px solid #eadfe0;padding-top:.8rem}.connect-composer textarea{width:100%;resize:vertical}.connect-compose-actions{display:flex;align-items:center;gap:.6rem;justify-content:flex-end;margin-top:.5rem}.connect-compose-actions .muted{margin-right:auto}.connect-empty{text-align:center;margin:auto}.connect-info{font-size:.9rem}.connect-dialog{border:0;border-radius:14px;padding:1.2rem;max-width:500px;width:calc(100% - 2rem)}.connect-dialog form{display:grid;gap:.7rem}.connect-dialog select[multiple]{min-height:130px}.inline-form{display:inline}.link-danger{background:none;border:0;color:#9a3344;padding:0;cursor:pointer;font-size:.78rem}@media(max-width:1000px){.connect-shell{grid-template-columns:220px minmax(0,1fr)}.connect-info{grid-column:1/-1}}@media(max-width:680px){.connect-shell{display:flex;flex-direction:column}.connect-conversation{min-height:560px}.connect-compose-actions{flex-wrap:wrap}.connect-compose-actions .muted{width:100%;order:3}}
.connect-reference{display:grid;gap:.15rem;border:1px solid #dbc9cc;border-radius:8px;padding:.5rem;margin:.4rem 0;background:#fff}.connect-reference strong{font-size:.68rem;color:#7a3b48}.connect-task{font-size:.78rem;margin-top:.4rem}.connect-task form{display:flex;gap:.35rem;flex-wrap:wrap;margin-top:.35rem}.connect-task input,.connect-task select{max-width:180px}.connect-message audio{max-width:100%}

.connect-contacts{display:flex;flex-direction:column;gap:.8rem;min-width:0}.connect-contact-head{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem}.connect-contact-head h2{margin:.15rem 0 0}.connect-contact-search{width:100%;background:#fff!important;color:#17171a!important}.connect-contact-list{display:grid;gap:.45rem;max-height:540px;overflow:auto;padding-right:.15rem}.connect-contact{display:grid;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:.65rem;padding:.55rem;border:1px solid #eee6e2;border-radius:11px;background:#fff}.connect-contact:hover{border-color:#dccbca;background:#fdf9f7}.connect-contact-avatar{width:38px;height:38px;border-radius:50%;object-fit:cover;background:#eee4df}.connect-contact-initial{display:grid;place-items:center;color:#6b3542;font-size:.72rem;font-weight:700}.connect-contact-copy{min-width:0}.connect-contact-copy strong,.connect-contact-copy>small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.connect-contact-copy strong{font-size:.82rem}.connect-contact-copy>small{font-size:.68rem;color:var(--pbl-muted,#777);margin-top:.1rem}.contact-self{display:inline!important;font-size:.58rem!important;color:#8a5360!important;font-weight:600}.connect-contact form{margin:0}.connect-contact-chat,.connect-contact-you{display:inline-flex;align-items:center;justify-content:center;min-height:29px;padding:.3rem .55rem;border-radius:8px;font-size:.68rem;font-weight:650;white-space:nowrap}.connect-contact-chat{border:1px solid #d9c7c8;background:#fff;color:#7b2d3e;text-decoration:none;cursor:pointer}.connect-contact-chat:hover{background:#f8eded;text-decoration:none}.connect-contact-you{background:#f1efef;color:#7e7578}.connect-context{border-top:1px solid #ece4df;padding-top:.7rem;margin-top:auto}.connect-context p{margin:.35rem 0 0;font-size:.78rem}@media(max-width:1000px){.connect-contact-list{max-height:340px}}.connect-shell{grid-template-columns:260px minmax(0,1fr) 320px}.connect-contact{grid-template-columns:42px minmax(0,1fr) auto;gap:.75rem;padding:.65rem .7rem}.connect-contact-avatar{width:42px;height:42px}.connect-contact-copy strong{font-size:.82rem;line-height:1.25;white-space:normal;overflow:visible;text-overflow:clip}.connect-contact-copy>small{font-size:.69rem;line-height:1.3;white-space:normal;overflow:visible;text-overflow:clip;margin-top:.18rem}.connect-online{display:inline-flex;align-items:center;gap:.34rem;align-self:center;color:#28a765;font-size:.66rem;font-weight:650;white-space:nowrap}.connect-online i{width:8px;height:8px;border-radius:50%;background:#32d67b;box-shadow:0 0 0 4px #32d67b20}.connect-contact-list{max-height:600px}.connect-contact-search{font-size:.78rem}@media(max-width:1200px){.connect-shell{grid-template-columns:240px minmax(0,1fr) 290px}}@media(max-width:1000px){.connect-shell{grid-template-columns:220px minmax(0,1fr)}.connect-info{grid-column:1/-1}.connect-contact-list{max-height:360px}}

/* Contact directory interaction refinement */
.connect-shell{grid-template-columns:260px minmax(0,1fr) 300px}
.connect-contact-list{max-height:610px}
.connect-contact-new-form{margin:0}
.connect-contact{width:100%;grid-template-columns:44px minmax(0,1fr) auto;text-align:left}
.connect-contact-link{appearance:none;border:1px solid #eee6e2;color:inherit;text-decoration:none;cursor:pointer;font:inherit}
.connect-contact-link:hover{border-color:#d4bdc0;background:#fcf7f5;text-decoration:none;transform:translateY(-1px)}
.connect-contact-avatar{width:44px;height:44px}
.connect-contact-copy strong{font-size:.84rem;white-space:normal;overflow:visible;text-overflow:clip;line-height:1.2}
.connect-contact-copy>small{white-space:normal;overflow:visible;text-overflow:clip;line-height:1.28;margin-top:.2rem}
.connect-online{display:inline-flex;align-items:center;gap:.32rem;color:#16a35a;font-size:.67rem;font-weight:700;white-space:nowrap}
.connect-online i,.connect-online-total i{width:8px;height:8px;border-radius:50%;background:#26d778;box-shadow:0 0 0 4px #dff9eb}
.connect-online.is-offline{visibility:hidden}
.connect-online-total{display:inline-flex!important;align-items:center;gap:.38rem;white-space:nowrap}
.connect-context-head{display:flex;align-items:center;justify-content:space-between;gap:.5rem}
.connect-group-actions{display:flex;gap:.35rem}
.connect-mini-action{border:1px solid #dccbcc;background:#fff;color:#6c3341;border-radius:8px;padding:.38rem .58rem;font-size:.68rem;font-weight:700;cursor:pointer}
.connect-mini-action:hover{background:#f7eded;border-color:#cdaeb2}
.connect-contact.is-self{cursor:default}
@media(max-width:1120px){.connect-shell{grid-template-columns:220px minmax(0,1fr) 280px}}

/* Message action menu */
.connect-message{position:relative}
.connect-message-actions{position:relative;margin-top:.35rem}
.connect-message-more{width:28px;height:28px;border:0;border-radius:8px;background:transparent;color:#75666b;font-size:16px;line-height:1;cursor:pointer;padding:0}
.connect-message-more:hover{background:#ffffffa8;color:#571f2c}
.connect-message-menu{position:absolute;right:0;top:32px;z-index:12;min-width:150px;padding:.35rem;background:#fff;border:1px solid #e4d8d5;border-radius:10px;box-shadow:0 12px 30px #2f1c241f}
.connect-message-menu button{display:block;width:100%;border:0;background:transparent;text-align:left;padding:.55rem .65rem;border-radius:7px;font-size:.76rem;color:#3c3437;cursor:pointer}
.connect-message-menu button:hover{background:#f7f1ef}
.connect-message-menu form{margin:0}
.connect-message-menu .danger{color:#a51f2b}
.connect-task-popover{margin-top:.45rem;padding:.55rem;border:1px solid #e8ddda;border-radius:9px;background:#fff}
.connect-task-popover form{display:flex;gap:.4rem;flex-wrap:wrap}
.connect-task-popover input,.connect-task-popover select{max-width:180px}
.connect-compose-actions{justify-content:flex-start}
.connect-compose-actions .button[type="submit"]{margin-left:auto}
/* PBL Connect polish: contacts, recent chats, presence */
.connect-online-total{gap:.28rem!important}
.connect-online-total::before{content:'';width:8px;height:8px;border-radius:50%;background:#26d778;box-shadow:0 0 0 4px #dff9eb}
.connect-contact-new-form .connect-contact{background:#fff!important;color:inherit!important;border:1px solid #eee6e2!important;box-shadow:none!important}
.connect-contact-new-form .connect-contact:hover{background:#fcf7f5!important;border-color:#d4bdc0!important}
.connect-contact-new-form .connect-contact-copy strong{color:#2f2c31!important}
.connect-contact-new-form .connect-contact-copy>small{color:var(--pbl-muted,#777)!important}
.connect-list{gap:.55rem}
.connect-thread{padding:.75rem .8rem;border:1px solid #eee6e2;border-radius:12px;background:#fff}
.connect-thread:hover{border-color:#d7c3c5;background:#fcf8f6}
.connect-thread.active{background:#f1e8e8;border-color:#e2d4d4}
.connect-thread strong{display:block;font-size:.82rem;line-height:1.25}
.connect-thread small{font-size:.69rem;line-height:1.25}
.connect-conversation-presence{display:inline-flex;align-items:center;gap:.35rem}
.connect-conversation-presence::before{content:'';width:8px;height:8px;border-radius:50%;background:#28d87c;box-shadow:0 0 0 4px #dff9eb}
.connect-conversation-presence.is-offline{background:#f3f1f1!important;border-color:#e3dede!important;color:#8b8184!important}
.connect-conversation-presence.is-offline::before{background:#aaa;box-shadow:0 0 0 4px #eee}
.connect-task-back{border:0;background:transparent;color:#6d3341;font-size:.72rem;font-weight:700;padding:0 0 .45rem;cursor:pointer}
/* Contact + recent chat visual normalization */
.connect-contact,.connect-contact-link,.connect-contact-new-form .connect-contact{min-height:86px!important;grid-template-columns:48px minmax(0,1fr) auto!important;align-items:center!important;padding:.72rem .8rem!important;background:#fff!important;color:inherit!important;border:1px solid #eee6e2!important;border-radius:13px!important;box-shadow:none!important}
.connect-contact-new-form{display:block;width:100%}.connect-contact-new-form button.connect-contact{appearance:none;width:100%;font:inherit;text-align:left}
.connect-contact-avatar{width:48px!important;height:48px!important;min-width:48px!important;min-height:48px!important;flex:0 0 48px!important;border-radius:50%!important;object-fit:cover!important;aspect-ratio:1/1!important}
.connect-contact-copy{min-width:0!important}.connect-contact-copy strong{display:block!important;font-size:.86rem!important;line-height:1.18!important;font-weight:700!important;white-space:normal!important;overflow:visible!important}.connect-contact-copy>small{display:block!important;font-size:.69rem!important;line-height:1.3!important;font-weight:400!important;color:var(--pbl-muted,#777)!important;white-space:normal!important;overflow:visible!important}
.connect-thread-card{display:grid!important;grid-template-columns:46px minmax(0,1fr)!important;align-items:center!important;gap:.7rem!important;min-height:78px!important;padding:.7rem .75rem!important;border:1px solid #eee6e2!important;border-radius:13px!important;background:#fff!important}.connect-thread-card.active{background:#f4e9e8!important;border-color:#e1ced0!important}.connect-thread-card:hover{background:#fcf8f6!important;border-color:#dbc7c8!important}.connect-thread-avatar{width:46px!important;height:46px!important;min-width:46px!important;border-radius:50%!important;object-fit:cover!important;display:grid!important;place-items:center!important;background:#eee4df!important;color:#6b3542!important;font-size:.7rem!important;font-weight:700!important}.connect-thread-group-avatar{background:#ece8f4!important;color:#654c82!important}.connect-thread-copy{min-width:0}.connect-thread-name{font-size:.78rem;line-height:1.3;white-space:normal}.connect-thread-name strong{display:inline!important;font-size:.78rem!important}.connect-thread-role{font-weight:400!important;color:#776a6f!important}.connect-thread-copy small{display:block!important;margin-top:.18rem!important;font-size:.67rem!important;line-height:1.25!important;color:var(--pbl-muted,#777)!important;white-space:normal!important}
