/* Soro Messages is scoped so existing portal workspaces retain their layout. */
.soro-messages{max-width:1440px;margin:auto;color:var(--ink,#172033)}
.soro-messages [hidden]{display:none!important}
.sm-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:24px}
.sm-heading h1{margin:0;font-size:30px;letter-spacing:-.7px;color:var(--navy,#082d5c)}
.sm-heading p{margin:8px 0 0;color:var(--muted,#667085);font-size:14px}
.sm-heading .sm-eyebrow{text-transform:uppercase;font-size:11px;letter-spacing:1.6px;font-weight:750;margin:0 0 6px}
.sm-button{border:1px solid #d2dbe7;border-radius:9px;padding:10px 14px;background:#fff;color:var(--navy,#082d5c);font:inherit;font-size:13px;font-weight:650;cursor:pointer;min-height:40px}
.sm-button:hover{background:#f0f5fb;border-color:#9bb2cd}
.sm-primary{background:var(--orange,#f45a1f);border-color:var(--orange,#f45a1f);color:white}
.sm-primary:hover{background:#da4610;border-color:#da4610}
.soro-messages button:disabled{opacity:.55;cursor:wait}
.soro-messages :is(button,input,textarea):focus-visible{outline:3px solid #4694dc;outline-offset:3px}
.sm-workspace{display:grid;grid-template-columns:minmax(260px,330px) minmax(0,1fr);border:1px solid #dde5ef;border-radius:16px;overflow:hidden;background:#fff;min-height:660px;box-shadow:0 6px 28px #082d5c06}
.sm-inbox{min-width:0;border-right:1px solid #e3e9f1;background:#fbfcfe;display:flex;flex-direction:column;padding:20px 0}
.sm-inbox-heading{display:flex;align-items:center;justify-content:space-between;padding:0 18px;gap:10px}
.sm-inbox h2{font-size:17px;margin:0;color:var(--navy,#082d5c)}
.sm-help{font-size:12px;color:var(--muted,#667085);line-height:1.6;margin:6px 0 12px}
.sm-poll-note{padding:0 18px;margin-top:12px}
.sm-list{max-height:620px;overflow-y:auto}
.sm-conversation{display:block;width:100%;border:0;border-top:1px solid #e9edf3;border-left:3px solid transparent;background:transparent;padding:17px 18px 17px 15px;text-align:left;cursor:pointer;font:inherit;color:var(--ink,#172033)}
.sm-conversation:hover{background:#f0f5fb}
.sm-conversation.is-selected{border-left-color:var(--orange,#f45a1f);background:#eaf1f9}
.sm-conversation-top{display:flex;gap:12px;justify-content:space-between;align-items:flex-start;margin-bottom:8px}
.sm-conversation-top strong{font-size:14px;overflow-wrap:anywhere;line-height:1.4}
.sm-unread{flex-shrink:0;border-radius:99px;padding:2px 7px;background:var(--orange,#f45a1f);color:white;font-size:11px;font-weight:750;min-width:20px;text-align:center}
.sm-badge{display:inline-block;color:#36526e;background:#e7eef6;padding:4px 7px;border-radius:5px;font-size:10px;font-weight:750;letter-spacing:.25px}
.sm-preview{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px;line-height:1.7;color:#536578;margin:7px 0}
.sm-conversation time{font-size:10px;color:#657891}
.sm-more{margin:15px 18px 0}
.sm-detail{display:flex;flex-direction:column;min-width:0;position:relative;background:white}
.sm-welcome{margin:auto;padding:50px 35px;text-align:center;max-width:430px}
.sm-welcome-icon{width:62px;height:62px;display:grid;place-items:center;background:#fff0e7;color:var(--orange,#f45a1f);font-size:28px;border-radius:18px;margin:0 auto 20px}
.sm-welcome h2{font-size:21px;color:var(--navy,#082d5c)}
.sm-welcome p{line-height:1.6;color:var(--muted,#667085);font-size:14px}
.sm-thread-head{display:flex;align-items:flex-start;gap:16px;padding:22px 24px;border-bottom:1px solid #e7edf4}
.sm-thread-head>div{flex:1;min-width:0}
.sm-thread-head>.sm-thread-actions{display:flex;align-items:center;gap:8px;flex:0 0 auto;flex-wrap:wrap}
.sm-thread-head h2{margin:9px 0 7px;font-size:20px;color:var(--navy,#082d5c);overflow-wrap:anywhere}
.sm-title-row{display:flex;align-items:center;gap:8px;min-width:0}
.sm-title-edit{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:36px;height:36px;border:0;border-radius:8px;background:transparent;color:#365a80;cursor:pointer}
.sm-title-edit:hover{background:#edf3fa}
.sm-title-edit svg{width:18px;height:18px}
.sm-title-form{margin:10px 0 14px;max-width:480px}
.sm-title-form label{display:block;font-size:14px;font-weight:650;margin-bottom:8px;color:#082d5c}
.sm-title-form-actions{display:flex;gap:8px;flex-wrap:wrap}
.sm-title-form .sm-help{font-size:13px;margin:7px 0 10px}
.sm-dock .sm-title-form{margin:2px 0 10px}
.sm-dock .sm-title-form input[data-msg-rename-input]{font-size:16px}
.sm-dock .sm-thread-head:has(.sm-title-form:not([hidden])){max-height:55%;overflow-y:auto}
.sm-participants{font-size:11px;line-height:1.7;color:#607087;margin:0;overflow-wrap:anywhere}
.sm-back{display:none;border:0;background:none;color:var(--navy,#082d5c);font:inherit;font-size:12px;padding:8px 0;cursor:pointer;white-space:nowrap}
.sm-history-actions{padding:10px 24px 0;text-align:center}
.sm-history{height:390px;min-height:240px;overflow:auto;padding:20px 24px;overscroll-behavior:contain;background:linear-gradient(#fff,#f7f9fc);scrollbar-gutter:stable}
.sm-message{max-width:88%;width:fit-content;background:#fff;border:1px solid #e0e7f0;border-radius:12px 12px 12px 3px;padding:12px 15px;margin:0 0 16px;box-shadow:0 2px 5px #082d5c04}
.sm-message.is-mine{background:#eaf1f9;border-color:#d9e5f2;border-radius:12px 12px 3px 12px;margin-left:auto}
.sm-message-meta{display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 8px;font-size:10px;color:#66768b;line-height:1.5}
.sm-message-meta strong{color:var(--navy,#082d5c);font-size:11px}
.sm-message-meta time{margin-left:auto}
.sm-message p{white-space:pre-wrap;overflow-wrap:anywhere;font-size:14px;line-height:1.6;margin:6px 0 0}
.sm-composer{padding:18px 24px 22px;border-top:1px solid #e7edf4;background:white}
.sm-composer label,.sm-new-form>label{display:block;font-size:12px;font-weight:750;margin:0 0 8px;color:var(--navy,#082d5c)}
.soro-messages textarea,.soro-messages input:not([type=checkbox]){display:block;width:100%;border:1px solid #cbd6e4;border-radius:9px;padding:11px 12px;color:var(--ink,#172033);font:inherit;font-size:14px;background:#fff;min-width:0}
.soro-messages textarea{resize:vertical;min-height:85px;max-height:300px;line-height:1.5}
.sm-compose-actions{display:flex;justify-content:space-between;align-items:center;gap:10px}
.sm-status{font-size:13px;line-height:1.6;color:#a33d22;margin:8px 0;overflow-wrap:anywhere}
.sm-status:empty{display:none}
.sm-inbox>.sm-status{margin:10px 18px}
.sm-arrivals{border:1px solid #bfd0e4;border-radius:20px;padding:8px 12px;background:#fff;color:var(--navy,#082d5c);font-weight:650;align-self:center;cursor:pointer;margin:8px}
.sm-empty{font-size:13px;padding:25px 18px;color:var(--muted,#667085);line-height:1.7;text-align:center}
.sm-new-form{padding:24px;max-width:730px;width:100%;margin:0 auto}
.sm-search-row{display:flex;gap:10px}
.sm-contacts{max-height:210px;overflow-y:auto;border:1px solid #e0e7f0;border-radius:10px;margin:14px 0 8px}
.sm-contact{display:flex;gap:12px;align-items:center;padding:12px 14px;border-bottom:1px solid #edf1f6;cursor:pointer}
.sm-contact:last-child{border-bottom:0}
.sm-contact:hover{background:#f4f8fc}
.sm-contact input{width:17px;height:17px;accent-color:var(--navy,#082d5c);flex-shrink:0}
.sm-contact strong,.sm-contact small{display:block;font-size:13px;overflow-wrap:anywhere}
.sm-contact small{font-size:11px;color:var(--muted,#667085);margin-top:3px}
.sm-selected{font-size:12px;line-height:1.7;color:var(--navy,#082d5c);overflow-wrap:anywhere}
.sm-clear-recipients{font-size:11px;min-height:32px;padding:6px 9px;margin:0 0 20px}
.sm-new-form>input{margin-bottom:20px}
.sm-test-banner{padding:12px 16px;background:#fff5e8;border:1px solid #f1d4ae;border-radius:9px;color:#79511b;font-size:13px;line-height:1.5}
.sm-unavailable{border:1px solid #e0e7f0;border-radius:14px;padding:25px;background:white}
@media(max-width:1100px){.sm-workspace{grid-template-columns:minmax(235px,285px) minmax(0,1fr)}.sm-thread-head,.sm-composer{padding:18px}.sm-history{padding:18px}.sm-message{max-width:95%}}
@media(max-width:700px){.sm-heading{align-items:flex-start;gap:12px;flex-wrap:wrap}.sm-heading h1{font-size:27px}.sm-heading .sm-primary{padding:10px 12px}.sm-workspace{grid-template-columns:minmax(0,1fr);min-height:580px}.sm-inbox{border:0}.sm-detail{display:none}.sm-detail-open .sm-inbox{display:none}.sm-detail-open .sm-detail{display:flex}.sm-back{display:block;align-self:flex-start}.sm-thread-head{flex-wrap:wrap;gap:10px;padding:16px}.sm-thread-head>div{flex-basis:100%;order:2}.sm-thread-head>.sm-button{margin-left:auto}.sm-history{height:min(45vh,390px);padding:15px;min-height:240px}.sm-composer{padding:16px}.sm-new-form{padding:18px}.sm-message{max-width:96%}.sm-list{max-height:none}.sm-history-actions{padding:10px 16px 0}.sm-conversation{padding-top:19px;padding-bottom:19px}}
@media(prefers-reduced-motion:reduce){.soro-messages *{scroll-behavior:auto!important}}

/* One persistent conversation window; the inbox DOM moves here without losing work. */
.sm-dock{position:fixed;right:max(20px,env(safe-area-inset-right));bottom:max(18px,env(safe-area-inset-bottom));width:min(420px,calc(100% - 32px));height:min(680px,calc(100dvh - 40px));display:flex;flex-direction:column;z-index:800;background:#fff;border:1px solid #bacde1;border-radius:16px;box-shadow:0 18px 65px #082d5c30,0 3px 12px #082d5c18;overflow:hidden;color:#102e52}
.sm-dock[hidden],.sm-dock [hidden],.sm-dock-launcher[hidden]{display:none!important}
.sm-dock-bar{display:flex;align-items:center;gap:8px;padding:12px;background:#0c2c52;color:#fff;border-top:3px solid #f45a1f;flex-shrink:0;min-height:64px}
.sm-dock-title{font:650 14px/1.4 system-ui,sans-serif;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin:0}
.sm-dock-actions{display:flex;gap:3px;align-items:center;flex-shrink:0}
.sm-dock-bar button{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-width:36px;min-height:38px;padding:6px;border:1px solid #ffffff36;border-radius:8px;color:#fff;background:transparent;font:inherit;cursor:pointer}
.sm-dock-bar button:hover{background:#ffffff1f}
.sm-dock-bar button:focus-visible,.sm-dock-launcher:focus-visible{outline:3px solid #f7ae74;outline-offset:-3px}
.sm-dock-bar button svg{width:18px;height:18px}
.sm-dock-bar [data-msg-restore]{flex:1;min-width:0;justify-content:flex-start;text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sm-dock-content{min-height:0;flex:1;width:100%;max-width:none;overflow:hidden}
.sm-dock-content>.sm-heading,.sm-dock-content>.sm-test-banner{display:none}
.sm-dock .sm-workspace{display:grid;grid-template-columns:minmax(0,1fr);height:100%;min-height:0;border:0;border-radius:0;box-shadow:none}
.sm-dock .sm-inbox{min-height:0;border:0;overflow:auto}
.sm-dock .sm-list{max-height:none;overflow:visible}
.sm-dock .sm-detail{display:none;min-height:0;overflow:hidden}
.sm-dock .sm-detail-open .sm-inbox{display:none}
.sm-dock .sm-detail-open .sm-detail{display:flex}
.sm-dock .sm-thread-head{padding:10px 14px;gap:8px;align-items:center;flex-wrap:wrap;flex-shrink:0}
.sm-dock .sm-thread-head>div{flex-basis:100%;order:2}
.sm-dock .sm-thread-head>.sm-thread-actions{flex:0 0 auto;order:0;margin-left:auto}
.sm-dock .sm-thread-head h2,.sm-dock .sm-thread-head [data-msg-thread-badge],.sm-dock [data-msg-popout]{display:none}
.sm-dock .sm-participants{font-size:12px;line-height:1.5;max-height:55px;overflow:auto}
.sm-dock .sm-back{display:block;margin:0;min-height:36px;font-size:13px;align-self:auto}
.sm-dock .sm-thread-head>.sm-button{margin-left:auto;min-height:36px;padding:7px 10px;font-size:12px}
.sm-dock .sm-history-actions{padding:4px 12px 0;flex-shrink:0}
.sm-dock .sm-history-actions:has([data-msg-older][hidden]):has([data-msg-read-status]:empty){padding:0}
.sm-dock .sm-history{flex:1;height:auto;min-height:80px;padding:16px;scrollbar-gutter:auto}
.sm-dock .sm-message{max-width:94%;padding:9px 12px;margin-bottom:12px}
.sm-dock .sm-composer{padding:12px 14px;flex-shrink:0}
.sm-dock .sm-composer textarea{min-height:65px;max-height:110px;font-size:16px;resize:none}
.sm-dock .sm-composer>.sm-help{font-size:11px;line-height:1.4;margin:6px 0}
.sm-dock .sm-composer label{font-size:12px;margin-bottom:5px}
.sm-dock .sm-compose-actions .sm-help{margin:0;font-size:11px}
.sm-dock .sm-new-form{overflow:auto;min-height:0;padding:16px}
.sm-dock .sm-new-form>label{font-size:14px}
.sm-dock .sm-status{font-size:12px;max-height:100px;overflow:auto}
.sm-dock.is-expanded{width:min(700px,calc(100% - 40px));height:min(820px,calc(100dvh - 40px))}
.sm-dock.is-minimized{height:auto;width:min(360px,calc(100% - 32px))}
.sm-dock.is-minimized .sm-dock-content{display:none}
.sm-dock-launcher{position:fixed;right:max(20px,env(safe-area-inset-right));bottom:max(18px,env(safe-area-inset-bottom));z-index:800;display:flex;align-items:center;gap:8px;padding:13px 20px;border:1px solid #224d7c;border-radius:30px;background:#0c2c52;color:white;box-shadow:0 6px 24px #082d5c24;min-height:48px;font:650 14px/1.4 system-ui,sans-serif;cursor:pointer}
.sm-dock-launcher:hover{background:#16416f}
.sm-chat-placeholder{padding:36px;border:1px solid #d5e1ed;border-radius:14px;background:white;max-width:700px;margin:24px auto;color:#102e52}
.sm-chat-placeholder h1{margin-top:0}
.sm-chat-placeholder p{line-height:1.6}
@media(max-width:700px){.sm-thread-head>.sm-thread-actions{order:0;flex-basis:auto;margin-left:auto}}
@media(max-width:600px){.sm-dock,.sm-dock.is-expanded{right:max(8px,env(safe-area-inset-right));bottom:max(8px,env(safe-area-inset-bottom));width:calc(100% - 16px);height:min(650px,calc(100dvh - 16px));border-radius:12px}.sm-dock.is-expanded{height:calc(100dvh - 16px)}.sm-dock.is-minimized{height:auto;width:min(360px,calc(100% - 16px))}.sm-dock-bar{padding:9px;gap:6px;min-height:60px}.sm-dock-bar button{min-width:40px;min-height:40px}.sm-dock-title{font-size:13px}.sm-dock .sm-composer textarea{max-height:80px}.sm-dock .sm-participants{max-height:38px}.sm-dock .sm-history{padding:12px}.sm-dock .sm-message p{font-size:14px}.sm-dock .sm-thread-head>div{flex-basis:100%}.sm-dock .sm-thread-head>.sm-thread-actions{flex-basis:auto}}
