/* ESS colleague directory and private direct messages. Scoped to this feature. */
.ess-chat-trigger{position:relative;display:grid;place-items:center;flex:0 0 auto;width:46px;height:46px;margin-left:auto;padding:0;border:1px solid var(--ess-pink-line);border-radius:50%;background:var(--ess-pink);color:var(--ess-red);box-shadow:0 2px 10px #1e00040f;cursor:pointer}
.ess-chat-trigger[hidden]{display:none}.ess-chat-trigger svg{width:25px;height:25px}.ess-chat-trigger:not([hidden])~.ess-bell{margin-left:0}
.ess-chat-count{position:absolute;right:-4px;top:-5px;min-width:22px;height:22px;padding:0 5px;background:var(--ess-red);color:#fff;border-radius:12px;box-shadow:0 0 0 2px #fff;font-size:12px;line-height:22px;text-align:center}.ess-chat-count[hidden]{display:none}
.ec-dialog{box-sizing:border-box;border:1px solid #e9e2e5;border-radius:20px;padding:0;background:#fff;color:#25232a;font:15px/1.5 Prompt,Sarabun,'Noto Sans Lao',sans-serif;box-shadow:0 15px 55px #36151d26;max-width:calc(100vw - 24px);max-height:calc(100dvh - 28px);margin:0;overflow:hidden}
.ec-dialog[open]{display:flex;flex-direction:column}.ec-dialog::backdrop{background:#19101a40}.ec-dialog *{box-sizing:border-box}.ec-dialog [hidden]{display:none!important}:where(.ec-dialog) button,:where(.ec-dialog) input,:where(.ec-dialog) textarea{font:inherit}.ec-dialog button{cursor:pointer}.ec-dialog button:disabled{cursor:default;opacity:.5}.ec-dialog :focus-visible{outline:3px solid #f2a6ab;outline-offset:2px}
.ec-dialog svg{display:block;width:22px;height:22px;flex:none}.ec-dialog p{margin:0}.ec-people{position:fixed;inset:90px max(12px,calc((100vw - 580px)/2 + 12px)) auto auto;width:385px;min-height:min(250px,calc(100dvh - 110px));max-height:calc(100dvh - 110px)}
.ec-head{display:flex;align-items:center;gap:10px;padding:16px;border-bottom:1px solid #f0e9ec;flex:none}.ec-head h2{font-size:22px;margin:0;font-weight:700;flex:1}.ec-icon{display:grid;place-items:center;flex:none;border:0;background:transparent;color:#8b2631;border-radius:50%;padding:8px;min-width:40px;min-height:40px}.ec-icon:hover{background:#f8edf0}
.ec-search{display:flex;flex-direction:row;align-items:center;gap:8px;margin:14px 14px 0;padding:10px 13px;background:#f3f2f5;border-radius:25px;color:#7b7682}.ec-search input{font-weight:400;min-height:28px;border:0;background:transparent;min-width:0;width:100%;padding:0;color:#25232a;font-size:16px}.ec-search input::placeholder{font-size:13px;color:#817a86}
.ec-scope{font-size:12px;color:#77717f;padding:10px 17px}.ec-scroll{overflow-y:auto;overscroll-behavior:contain;min-height:0;padding:0 9px 12px;flex:1}.ec-subheading{font-size:13px;font-weight:600;color:#736c79;margin:10px 8px 5px}
.ec-person{display:flex;align-items:center;gap:10px;width:100%;padding:11px 8px;border:0;background:transparent;border-radius:13px;text-align:left;color:inherit}.ec-person:hover{background:#fcf0f3}.ec-avatar{position:relative;display:grid;place-items:center;flex:none;width:43px;height:43px;border-radius:50%;background:#f9e7eb;color:#a51c2d;font-weight:600;overflow:hidden}.ec-avatar img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0}.ec-person-copy{flex:1;min-width:0}.ec-person-copy strong{display:block;font-size:14px;overflow-wrap:anywhere}.ec-person-copy small{display:block;font-size:11px;color:#7b7381;overflow-wrap:anywhere}.ec-preview{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px;color:#756d7b;max-width:260px}.ec-unread{background:#c8161d;color:#fff;border-radius:12px;font-size:11px;min-width:20px;text-align:center;padding:1px 5px}
.ec-empty{padding:25px 14px;color:#7b7381;text-align:center;font-size:14px}.ec-status{padding:10px 15px;background:#fff4e4;color:#825313;font-size:13px;flex:none;overflow-wrap:anywhere}.ec-status:empty{display:none}.ec-error{color:#a30f16;background:#fff0f1}.ec-more{display:block;border:1px solid #eadfe4;background:#fff;color:#a51c2d;border-radius:12px;padding:10px 16px;margin:10px auto;font-size:13px;min-height:44px}
.ec-chat{position:fixed;inset:auto 18px 18px auto;width:390px;height:min(650px,calc(100dvh - 36px))}.ec-chat::backdrop{background:#19101a1a}.ec-chat .ec-head{padding:11px 10px}.ec-head-copy{flex:1;min-width:0}.ec-head-copy strong{display:block;font-size:15px;overflow-wrap:anywhere}.ec-head-copy small{display:block;font-size:11px;color:#7b7381;overflow-wrap:anywhere}
.ec-messages{padding:12px;overflow-y:auto;overscroll-behavior:contain;min-height:0;flex:1;background:#fff;scrollbar-width:thin}.ec-message{display:flex;flex-direction:column;align-items:flex-start;margin:12px 0;gap:4px}.ec-message.mine{align-items:flex-end}.ec-bubble{max-width:88%;padding:10px 13px;border-radius:17px 17px 17px 4px;background:#f1eff4;color:#28232d;white-space:pre-wrap;overflow-wrap:anywhere;font-size:15px;min-width:45px}.ec-message.mine .ec-bubble{background:linear-gradient(125deg,#d81b30,#b60e22);color:#fff;border-radius:17px 17px 4px 17px}.ec-message time{font-size:11px;color:#8c8491}.ec-image{display:block;border:0;background:transparent;padding:0;max-width:88%;border-radius:14px;overflow:hidden}.ec-image img{display:block;width:100%;max-width:270px;max-height:290px;object-fit:contain;background:#f3f1f5}.ec-message-tools{display:flex;align-items:center;gap:3px;flex-wrap:wrap;max-width:100%}.ec-tool{border:0;background:transparent;color:#85788b;padding:4px 7px;min-height:32px;border-radius:12px;display:inline-flex;align-items:center;gap:4px;font-size:11px}.ec-tool svg{width:15px;height:15px}.ec-tool:hover,.ec-tool[aria-pressed=true]{background:#fae9ee;color:#a51c2d}.ec-reaction{background:#f6edf1;border:1px solid #eadfe4;color:#4e4556;border-radius:15px;padding:3px 8px;font-size:12px;min-height:32px}.ec-reaction[aria-pressed=true]{border-color:#d92d44;background:#fde9ee}.ec-quote{border-left:3px solid #d9b8c4;background:#f7f3f6;color:#766579;padding:7px 10px;max-width:88%;border-radius:8px;font-size:12px;overflow-wrap:anywhere;white-space:pre-wrap}
.ec-compose-area{border-top:1px solid #eee7ec;flex:none;background:#fff}.ec-compose{display:flex;align-items:flex-end;gap:2px;padding:9px 8px 11px}.ec-compose textarea{flex:1;min-width:0;resize:none;min-height:43px;max-height:110px;border:0;border-radius:22px;background:#f3f1f5;padding:10px 13px;font-size:16px;line-height:1.45;color:#25232a}.ec-send{color:#c8161d}.ec-file{display:none}.ec-draft-image{display:flex;align-items:center;gap:10px;padding:8px 14px;color:#6f6177;font-size:12px}.ec-draft-image img{width:50px;height:50px;object-fit:cover;border-radius:8px}.ec-reply-draft{display:flex;align-items:center;gap:8px;border-left:3px solid #c8161d;margin:8px 13px;padding:5px 8px;background:#faf0f3;font-size:12px}.ec-reply-draft span{flex:1;min-width:0;overflow-wrap:anywhere}.ec-picker{display:flex;gap:3px;flex-wrap:wrap;max-height:190px;overflow-y:auto;padding:10px;background:#fbf5f8;border-top:1px solid #eee7ec}.ec-picker button{border:0;border-radius:9px;background:transparent;font-size:24px;min-width:42px;min-height:42px;padding:3px}.ec-picker button:hover{background:#f2dfe7}.ec-image-view{position:fixed;inset:12px;margin:auto;max-width:calc(100vw - 24px);max-height:calc(100dvh - 24px);border:0;padding:10px;border-radius:14px;background:#fff}.ec-image-view[open]{display:flex;flex-direction:column}.ec-image-view img{display:block;max-width:calc(100vw - 60px);max-height:calc(100dvh - 95px);object-fit:contain}.ec-image-view button{align-self:flex-end}
@media(max-width:600px){.ec-chat{inset:0;width:100%;height:100dvh;max-height:100dvh;max-width:100%;border-radius:0;border:0;padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom)}.ec-people{inset:75px 10px auto;width:calc(100% - 20px);max-height:calc(100dvh - 100px);max-width:calc(100% - 20px)}.ec-dialog button{touch-action:manipulation}.ec-tool,.ec-reaction{min-height:40px}.ec-message-tools{gap:4px}.ec-icon{min-width:42px;min-height:42px}}
@media(max-width:400px){body.ess-v2.ess-home-on .appbar{padding-left:14px;padding-right:14px;gap:7px}.ess-chat-trigger{width:40px;height:40px}.ess-chat-trigger:not([hidden])~.ess-bell{width:40px;height:40px}.ess-chat-trigger:not([hidden])~.ess-lang button{min-width:42px;padding-left:8px;padding-right:8px}.ess-chat-trigger:not([hidden])~.ess-lang{padding:3px}body.ess-v2.ess-home-on .appbar:has(.ess-chat-trigger:not([hidden])) .brand strong{font-size:26px}}
@media(prefers-reduced-motion:reduce){.ec-dialog *{scroll-behavior:auto}}

/* Compact conversation controls and viewport-safe mobile sheets. */
html:has(.ec-dialog[open]),body:has(.ec-dialog[open]){overflow:hidden}
.ec-head{padding:10px 14px}.ec-head h2{font-size:21px}.ec-head h2:focus{outline:0}
.ec-search{flex:none;margin-top:10px;padding:9px 12px}.ec-search:focus-within{box-shadow:0 0 0 2px #bd223e}
.ec-search input:focus-visible{outline:0;box-shadow:none}
.ec-directory-nav{display:flex;align-items:center;gap:4px 8px;flex-wrap:wrap;flex:none;padding:6px 14px 8px}
.ec-directory-nav .ec-scope{padding:0;margin-right:auto;font-size:11px}
.ec-text-button,.ec-keyboard-dismiss{border:0;background:transparent;color:#a51c2d;border-radius:8px;padding:6px 3px;min-height:40px;font-size:12px}
.ec-text-button:hover,.ec-keyboard-dismiss:hover{background:#fcf0f3}.ec-keyboard-dismiss,.ec-keyboard-row{display:none}
.ec-person-copy strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ec-person-copy small{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.ec-head-copy{display:block;border:0;background:transparent;text-align:left;padding:0;color:inherit;overflow:hidden;border-radius:6px}
.ec-head-copy strong,.ec-head-copy small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;overflow-wrap:normal}
.ec-head-copy strong::after{content:'⌄';font-size:12px;margin-left:5px;color:#9c4b59}
.ec-profile-hint{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.ec-person-details{flex:0 1 auto;max-height:30%;overflow:auto;background:#fbf6f8;padding:8px 14px;border-bottom:1px solid #f0e9ec;font-size:12px}
.ec-person-details div{display:flex;gap:10px;padding:3px 0}.ec-person-details span{flex:0 0 80px;color:#817585}.ec-person-details strong{font-weight:500;overflow-wrap:anywhere;min-width:0}
.ec-message{margin:8px 0;gap:2px}.ec-message-body{display:flex;align-items:center;max-width:96%;gap:2px;min-width:0}
.ec-message-content{display:flex;flex-direction:column;gap:5px;align-items:flex-start;max-width:calc(100% - 38px);min-width:0}
.ec-message.mine .ec-message-body{flex-direction:row-reverse}.ec-message.mine .ec-message-content{align-items:flex-end}
.ec-message-content .ec-bubble,.ec-message-content .ec-quote{max-width:100%}
.ec-message-menu{display:grid;place-items:center;flex:none;width:36px;height:40px;border:0;border-radius:12px;background:transparent;color:#93848f;font-size:23px;line-height:1}
.ec-message-menu:hover,.ec-message-menu[aria-expanded=true]{background:#f8edf0;color:#a51c2d}
.ec-message-footer{display:flex;align-items:center;gap:5px;flex-wrap:wrap;max-width:100%;min-height:18px}
.ec-message-tools{padding:3px;border:1px solid #f0e4eb;background:#fdf9fb;border-radius:12px;gap:4px}
.ec-message-tools .ec-tool{min-height:40px;padding:5px 10px}.ec-message .ec-image{max-width:min(240px,100%)}
.ec-reply-draft span{max-height:48px;overflow-y:auto}.ec-picker{max-height:min(160px,calc(var(--ec-visible-height,100dvh) * .25))}
.ec-message .ec-image img{width:auto;height:auto;max-width:100%;max-height:200px}
.ec-date-divider{display:flex;align-items:center;justify-content:center;gap:9px;margin:14px 0 10px;font-size:11px;color:#8c7b88}
.ec-date-divider::before,.ec-date-divider::after{content:'';height:1px;background:#f0e9ee;flex:1}
.ec-minimized{position:fixed;right:18px;bottom:18px;z-index:1000;display:flex;align-items:center;max-width:320px;border:1px solid #eed8df;border-radius:30px;background:#fff;box-shadow:0 5px 25px #36151d26;padding:5px;color:#a51c2d}
.ec-minimized[hidden]{display:none}.ec-resume{display:flex;align-items:center;gap:9px;min-width:0;border:0;background:transparent;padding:8px 12px;color:inherit;font:inherit;cursor:pointer}
.ec-resume svg{width:23px;height:23px;flex:none}.ec-resume span{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;max-width:220px}
@media(max-width:600px){
  .ec-dialog.ec-people,.ec-dialog.ec-chat{inset:0 auto auto 0;width:100%;max-width:100%;height:100dvh;max-height:100dvh;min-height:0;border:0;border-radius:0;padding:env(safe-area-inset-top) 0 env(safe-area-inset-bottom)}
  .ec-chat .ec-head{gap:7px;padding:8px 9px}.ec-chat .ec-avatar{width:36px;height:36px}.ec-head-copy strong{font-size:14px}.ec-head-copy small{font-size:11px}
  .ec-chat [data-action="minimize-chat"],.ec-minimized{display:none}
  .ec-editing .ec-keyboard-dismiss{display:inline-flex;align-items:center;justify-content:center;min-height:40px}
  .ec-chat.ec-editing .ec-keyboard-row{display:flex;justify-content:flex-end;padding:0 12px}
  .ec-directory-nav{padding-top:3px;padding-bottom:5px}.ec-messages{padding:8px 10px}.ec-message-footer .ec-reaction{min-height:32px}
  .ec-people.ec-editing .ec-scope{display:none}.ec-people.ec-editing #ec-browse{margin-right:auto}
  .ec-compose{padding-top:6px;padding-bottom:8px}.ec-message-menu{width:38px;min-height:44px}
}
/* Chat notification preferences stay compact; the list remains independently scrollable. */
.ec-notify-settings{flex:0 1 auto;min-height:44px;overflow:auto;margin:0 14px 8px;border:1px solid #eadfe4;border-radius:12px;background:#fdf9fa;font-size:12px;max-height:45%}
.ec-notify-settings summary{cursor:pointer;min-height:44px;padding:11px 12px;color:#8b2631;font-weight:600}
.ec-notify-controls{display:flex;flex-wrap:wrap;gap:8px;padding:0 12px 12px;align-items:center}
.ec-notify-controls label{display:flex!important;flex-direction:row!important;align-items:center;gap:8px;min-height:44px;margin:0;flex:1 1 100%;font-size:13px}
.ec-notify-controls input{width:20px;height:20px;accent-color:#c8161d;margin:0}
.ec-notify-controls button{min-height:44px;padding:8px 11px;border:1px solid #dfc7d0;border-radius:10px;background:#fff;color:#8b2631;font-size:12px}
.ec-notify-controls p,.ec-notify-controls small{flex:1 1 100%;line-height:1.65;overflow-wrap:anywhere;color:#6b606a;font-size:12px}
.ec-notify-controls #ec-enable-push{background:#b91229;color:white;border-color:#b91229}
.ec-incoming{position:fixed;z-index:10000;inset:max(12px,env(safe-area-inset-top)) 12px auto auto;display:flex;align-items:center;width:min(360px,calc(100vw - 24px));padding:8px;border:1px solid #e9c6ce;border-radius:16px;background:#fff;box-shadow:0 8px 30px #34121b2e;color:#25232a;font:14px/1.5 Prompt,Sarabun,sans-serif}
.ec-incoming[hidden]{display:none!important}.ec-incoming-open{flex:1;min-width:0;min-height:48px;text-align:left;padding:5px 9px;border:0;background:transparent;color:inherit;font:inherit;cursor:pointer}.ec-incoming-open strong,.ec-incoming-open span{display:block}.ec-incoming-open strong{color:#a51c2d}.ec-incoming-open span{font-size:12px;overflow-wrap:anywhere}.ec-incoming button:focus-visible{outline:3px solid #f2a6ab}
@media(max-width:600px){.ec-notify-settings[open]{max-height:46%}.ec-people.ec-editing .ec-notify-settings{display:none}}
