/* Insets come from the device; these aliases also allow deterministic layout tests. */
:root{--er1382-safe-top:max(var(--er1328-safe-top,env(safe-area-inset-top,0px)),var(--er1382-chat-safe-top,0px));--er1382-safe-bottom:var(--er1328-safe-bottom,env(safe-area-inset-bottom,0px));}

@media(max-width:1023px){
 /* One flex layout reserves the actual dock height. No second bottom spacer. */
 html body.ww-chat-active:not(.chat-thread-open){height:100dvh!important;min-height:0!important;max-height:100dvh!important;}
 html body.ww-chat-active:not(.chat-thread-open) #app#app#app#app{height:100dvh!important;max-height:100dvh!important;}
 html body.ww-chat-active:not(.chat-thread-open) #app#app#app#app>.shell{display:flex!important;flex-direction:column!important;height:100dvh!important;min-height:0!important;max-height:100dvh!important;}
 html body.ww-chat-active:not(.chat-thread-open) #app#app#app#app>.shell>.main{flex:1 1 0!important;height:auto!important;min-height:0!important;max-height:none!important;}
 html body.ww-chat-active:not(.chat-thread-open) #app#app#app#app>.shell>.main>.content{padding:0!important;min-height:0!important;}
 html body.ww-chat-active:not(.chat-thread-open) #app#app#app#app>.shell>nav.wwnav{position:relative!important;inset:auto!important;flex:0 0 auto!important;height:calc(54px + var(--er1382-safe-bottom))!important;min-height:calc(54px + var(--er1382-safe-bottom))!important;max-height:calc(54px + var(--er1382-safe-bottom))!important;padding:3px 4px calc(3px + var(--er1382-safe-bottom))!important;margin:0!important;transform:none!important;}
 html body.ww-chat-active:not(.chat-thread-open) #app#app#app#app .chat-list.cv-list{padding-bottom:0!important;}
 html body.ww-chat-active:not(.chat-thread-open) #app#app#app#app .cv-threads{padding-bottom:8px!important;scroll-padding-bottom:8px;}

 /* The conversation is full screen; the header itself owns the status-bar inset. */
 html.er1384.er1381-refined body.ww-chat-active.chat-thread-open #app#app#app#app .chat-shell.show-thread{position:fixed!important;inset:var(--er1380-view-top,0px) 0 auto!important;height:var(--er1380-visible-height,100dvh)!important;min-height:0!important;max-height:var(--er1380-visible-height,100dvh)!important;transform:none!important;}
 html.er1384.er1381-refined body.ww-chat-active.chat-thread-open #app#app#app#app .chat-thread-head{flex:0 0 auto!important;height:auto!important;min-height:calc(64px + var(--er1382-safe-top))!important;max-height:none!important;padding:calc(10px + var(--er1382-safe-top)) max(10px,env(safe-area-inset-right,0px)) 10px max(10px,env(safe-area-inset-left,0px))!important;gap:8px!important;}
 html.er1381-refined body.ww-chat-active.chat-thread-open #app#app#app#app .chat-thread-head :is(.cth-back,.cth-act,.cth-call,.cth-info-btn,.cth-action){width:44px!important;height:44px!important;min-width:44px!important;min-height:44px!important;flex-shrink:0!important;}
 html.er1381-refined body.ww-chat-active.chat-thread-open #app#app#app#app .chat-thread-head .cth-info{min-width:0!important;flex:1 1 auto!important;}
 html.er1381-refined body.ww-chat-active.chat-thread-open #app#app#app#app .chat-thread-head .cth-info :is(strong,.cth-name,.cth-presence){display:block!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;}
 html.er1381-refined body.ww-chat-active.chat-thread-open #app#app#app#app .chat-composer{padding-bottom:calc(7px + var(--er1382-safe-bottom))!important;}
 html.er1381-refined body.ww-chat-active.chat-thread-open.ww370-chat-keyboard-open #app#app#app#app .chat-composer{padding-bottom:7px!important;}
}
/* Online dots remain on avatars; previews contain the message alone. */
html.er1384 body.ww-chat-active #app#app#app#app .cv-row .cv-online-text{display:none!important;}
@media(max-width:1023px){
 /* Also cover a restored chat route before the body's route class is reconciled. */
 html.er1384.er1381-refined body.ww-chat-active #app#app#app#app .chat-shell.show-thread>.chat-list{display:none!important;}
 html.er1384.er1381-refined body.ww-chat-active #app#app#app#app .chat-shell.show-thread{display:flex!important;flex-direction:column!important;position:fixed!important;inset:var(--er1380-view-top,0px) 0 auto!important;height:var(--er1380-visible-height,100dvh)!important;max-height:var(--er1380-visible-height,100dvh)!important;width:100%!important;max-width:100%!important;border-radius:0!important;box-shadow:none!important;}
 html.er1384.er1381-refined body.ww-chat-active #app#app#app#app .chat-shell:not(.show-thread)>.chat-thread{display:none!important;}
 html.er1384.er1381-refined body.ww-chat-active #app#app#app#app .cv-row{box-shadow:none!important;}
 html.er1384.er1381-refined body.ww-chat-active.chat-thread-open #app#app#app#app .chat-thread-head{background:#315a41!important;color:#fffdf0!important;border-bottom:1px solid #486a4e!important;box-shadow:none!important;}
 html.er1384.er1381-refined body.ww-chat-active.chat-thread-open #app#app#app#app .chat-thread-head :is(.cth-name,.cth-info strong,.cth-sub){color:#fffdf0!important;}
 html.er1384.er1381-refined body.ww-chat-active.chat-thread-open #app#app#app#app .chat-thread-head .cth-presence{color:#e0e9d8!important;}
 html.er1384.er1381-refined body.ww-chat-active.chat-thread-open #app#app#app#app .chat-thread-head :is(.cth-back,.cth-act){background:transparent!important;border:0!important;box-shadow:none!important;color:#fffdf0!important;}
 html.er1384.er1381-refined body.ww-chat-active.chat-thread-open #app#app#app#app .chat-thread-head :is(button,a) svg{color:#fffdf0!important;stroke:#fffdf0!important;}
 html.er1384.er1381-refined body.ww-chat-active.chat-thread-open #app#app#app#app .chat-thread-head .cth-card{min-width:0!important;flex:1 1 auto!important;}
 html.er1384.er1381-refined body.ww-chat-active.chat-thread-open #app#app#app#app .chat-thread-head .cth-card>.avatar{width:34px!important;height:34px!important;min-width:34px!important;flex:0 0 34px!important;border-radius:50%!important;box-shadow:none!important;}
 html.er1384.er1381-refined body.ww-chat-active.chat-thread-open #app#app#app#app .chat-composer{box-shadow:none!important;border-top:1px solid #d8dfcf!important;}
 html.er1384.er1381-refined body.ww-chat-active.chat-thread-open #app#app#app#app .chat-thread .chat-composer{padding-bottom:calc(8px + var(--er1382-safe-bottom))!important;}
 html.er1384.er1381-refined body.ww-chat-active.chat-thread-open.ww370-chat-keyboard-open #app#app#app#app .chat-thread .chat-composer{padding-bottom:8px!important;}
 /* The accepted compact roster layout remains; contrast supplies the extra colour. */
 html.er1384.er1381-refined body.ww-roster-active #app#app#app#app #page>.rst-hero{background:#2d6043!important;border:1px solid #274e36!important;border-radius:11px!important;padding:10px!important;box-shadow:0 4px 12px #1c482515!important;}
 html.er1384.er1381-refined body.ww-roster-active #app#app#app#app .rst-hero-label strong{font-size:15px!important;}
 html.er1384.er1381-refined body.ww-roster-active #app#app#app#app .rst-hero-foot{padding-top:7px!important;gap:10px!important;}
 html.er1384.er1381-refined body.ww-roster-active #app#app#app#app .rst-hs{display:inline-flex!important;flex-direction:row!important;align-items:baseline!important;justify-content:flex-start!important;min-height:0!important;height:auto!important;padding:0!important;border:0!important;background:transparent!important;border-radius:0!important;box-shadow:none!important;}
 html.er1384.er1381-refined body.ww-roster-active #app#app#app#app .rst-nav{width:32px!important;height:32px!important;min-width:32px!important;min-height:32px!important;background:transparent!important;border:0!important;border-radius:8px!important;box-shadow:none!important;}
 html.er1384.er1381-refined body.ww-roster-active #app#app#app#app .rst-hero-add{height:32px!important;min-height:32px!important;padding:0 11px!important;border:0!important;border-radius:8px!important;}
 html.er1384.er1381-refined body.ww-roster-active #app#app#app#app .rst-hero-add .rha-ic{width:17px!important;height:17px!important;min-width:17px!important;background:transparent!important;border-radius:0!important;}
 html.er1384.er1381-refined body.ww-roster-active #app#app#app#app .rst-hero-label strong,
 html.er1384.er1381-refined body.ww-roster-active #app#app#app#app .rst-hs strong{color:#fffdf0!important;}
 html.er1384.er1381-refined body.ww-roster-active #app#app#app#app .rst-hs :is(span,em){color:#e1e9d7!important;}
 html.er1384.er1381-refined body.ww-roster-active #app#app#app#app .rst-nav{color:#fffdf0!important;}
 html.er1384.er1381-refined body.ww-roster-active #app#app#app#app .rst-nav svg{stroke:#fffdf0!important;color:#fffdf0!important;}
 html.er1384.er1381-refined body.ww-roster-active #app#app#app#app :is(.rst-hero-add,.er1029-roster-request){background:#f5f0dc!important;color:#31563b!important;border-color:#f5f0dc!important;box-shadow:none!important;}
 html.er1384.er1381-refined body.ww-roster-active #app#app#app#app :is(.rst-hero-add,.er1029-roster-request) svg{color:#31563b!important;stroke:#31563b!important;}
 html.er1384.er1381-refined body.ww-roster-active #app#app#app#app .er1029-roster-today{color:#fffdf0!important;border-color:#b7caa7!important;background:#ffffff0d!important;}
 html.er1384.er1381-refined body.ww-roster-active #app#app#app#app .rst-day.sel{background:#315f43!important;border-color:#315f43!important;box-shadow:none!important;}
 html.er1384.er1381-refined body.ww-roster-active #app#app#app#app .rst-day.sel :is(.rd-dow,.rd-num){color:#fffdf0!important;}
 html.er1384.er1381-refined body.ww-roster-active #app#app#app#app .rst-day.sel :is(.rd-cnt,.rd-stats,.er1217-day-job-count){background:#e3edd9!important;color:#315b3c!important;}
 html.er1384.er1381-refined body.ww-roster-active #app#app#app#app :is(.rst-hero,.rst-days,.roster-mobile,.rc-card){animation:none!important;transition:none!important;scroll-behavior:auto!important;overflow-anchor:none!important;}
 html.er1384.er1381-refined body.ww-roster-active #app#app#app#app .roster-mobile>.rc-card[data-er1385-filter-hidden="true"]{display:none!important;}
}
@media(max-width:350px){html.er1384.er1381-refined body.ww-roster-active #app#app#app#app .rst-hero-label strong{font-size:13px!important;}html.er1384.er1381-refined body.ww-roster-active #app#app#app#app .rst-hero-foot{gap:7px!important;}}

/* Direct-message and group entry share a bounded, keyboard-aware sheet. */
html body #modalHost#modalHost#modalHost#modalHost .modal-overlay:has(.er1385-new-chat){position:fixed!important;inset:var(--er1380-view-top,0px) 0 auto!important;height:var(--er1380-visible-height,100dvh)!important;max-height:var(--er1380-visible-height,100dvh)!important;padding:calc(12px + var(--er1382-safe-top)) max(12px,env(safe-area-inset-right,0px)) calc(12px + var(--er1382-safe-bottom)) max(12px,env(safe-area-inset-left,0px))!important;}
html body #modalHost#modalHost#modalHost#modalHost .er1385-new-chat{display:flex!important;flex-direction:column!important;max-height:calc(var(--er1380-visible-height,100dvh) - 24px - var(--er1382-safe-top) - var(--er1382-safe-bottom))!important;background:#fffdf7!important;border-color:#d6ddce!important;}
html body #modalHost#modalHost#modalHost#modalHost .er1385-new-chat>.modal-head{position:relative!important;inset:auto!important;flex:0 0 auto!important;min-height:66px!important;padding:11px 16px!important;background:#efede3!important;border-bottom:1px solid #d6ddce!important;gap:10px!important;}
html body #modalHost#modalHost#modalHost#modalHost .er1385-new-chat>.modal-head h2{font:700 20px/1.3 system-ui,sans-serif!important;color:#284f3c!important;letter-spacing:-.025em!important;margin:0!important;padding:0!important;}
html body #modalHost#modalHost#modalHost#modalHost .er1385-new-chat>.modal-head .modal-x{width:44px!important;height:44px!important;min-height:44px!important;flex:0 0 44px!important;border:0!important;background:transparent!important;color:#365b41!important;border-radius:9px!important;}
html body #modalHost#modalHost#modalHost#modalHost .er1385-new-chat>.modal-body{flex:1 1 auto!important;min-height:0!important;padding:14px 16px!important;background:#fffdf7!important;}
html body #modalHost#modalHost#modalHost#modalHost .er1385-people-picker{height:min(610px,calc(var(--er1380-visible-height,100dvh) - 24px - var(--er1382-safe-top) - var(--er1382-safe-bottom)))!important;max-width:510px!important;}
html body #modalHost#modalHost#modalHost#modalHost .er1385-people-picker>.modal-body{display:flex!important;flex-direction:column!important;overflow:hidden!important;gap:10px!important;}
html body #modalHost#modalHost#modalHost#modalHost .er1385-people-picker .nc-search{display:flex!important;align-items:center!important;position:relative!important;inset:auto!important;flex:0 0 46px!important;height:46px!important;min-height:46px!important;gap:10px!important;margin:0!important;padding:0 12px!important;border:1px solid #cbd6c1!important;border-radius:10px!important;background:#f6f7ef!important;box-shadow:none!important;}
html body #modalHost#modalHost#modalHost#modalHost .er1385-people-picker .nc-search-ic{display:grid!important;place-items:center!important;position:static!important;transform:none!important;width:18px!important;min-width:18px!important;color:#64775b!important;}
html body #modalHost#modalHost#modalHost#modalHost .er1385-people-picker .nc-search-ic svg{width:18px!important;height:18px!important;}
html body #modalHost#modalHost#modalHost#modalHost .er1385-people-picker #ncSearch{box-sizing:border-box!important;flex:1 1 auto!important;width:100%!important;min-width:0!important;height:44px!important;min-height:44px!important;margin:0!important;padding:0!important;border:0!important;background:transparent!important;box-shadow:none!important;font:400 16px/1.4 system-ui,sans-serif!important;color:#294532!important;}
html body #modalHost#modalHost#modalHost#modalHost .er1385-people-picker #ncSearch::placeholder{color:#697762!important;opacity:1!important;}
html body #modalHost#modalHost#modalHost#modalHost .er1385-people-picker .dm-list{flex:1 1 auto!important;min-height:0!important;max-height:none!important;margin:0!important;padding:0!important;overflow-y:auto!important;overscroll-behavior:contain!important;overflow-anchor:none!important;}
html body #modalHost#modalHost#modalHost#modalHost .er1385-people-picker .dm-pick{box-sizing:border-box!important;display:grid!important;grid-template-columns:38px minmax(0,1fr) 18px!important;align-items:center!important;gap:11px!important;min-height:68px!important;width:100%!important;padding:11px 4px!important;margin:0!important;border:0!important;border-bottom:1px solid #e5e8db!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;transform:none!important;text-align:left!important;}
html body #modalHost#modalHost#modalHost#modalHost .er1385-people-picker .dm-pick>.avatar{width:38px!important;height:38px!important;min-width:38px!important;font-size:12px!important;box-shadow:none!important;border:0!important;border-radius:50%!important;background:#e1ead8!important;background-image:none!important;color:#37573c!important;}
html body #modalHost#modalHost#modalHost#modalHost .er1385-people-picker .dm-pick>.avatar.clay{background:#efe3d0!important;color:#745833!important;}
html body #modalHost#modalHost#modalHost#modalHost .er1385-people-picker .dmp-name{font:650 14px/1.4 system-ui,sans-serif!important;color:#2b4534!important;overflow-wrap:anywhere!important;}
html body #modalHost#modalHost#modalHost#modalHost .er1385-people-picker .dmp-sub{font:400 12px/1.4 system-ui,sans-serif!important;color:#62725b!important;margin-top:2px!important;overflow-wrap:anywhere!important;}
.er1385-person-arrow{display:grid;place-items:center;color:#75866b;}.er1385-person-arrow svg{width:16px;height:16px;transform:rotate(180deg);}
html body #modalHost#modalHost#modalHost#modalHost .er1385-new-chat>.modal-foot{flex:0 0 auto!important;min-height:64px!important;padding:10px 16px!important;background:#f4f3e9!important;}
html body #modalHost#modalHost#modalHost#modalHost .er1385-new-chat>.modal-foot button{min-height:44px!important;height:44px!important;font-size:13px!important;box-shadow:none!important;}
html body #modalHost#modalHost#modalHost#modalHost .er1385-new-chat .nc-opt{min-height:76px!important;padding:12px!important;border:1px solid #d6decb!important;border-radius:11px!important;background:#f5f6ed!important;box-shadow:none!important;}
html body #modalHost#modalHost#modalHost#modalHost .er1385-new-chat .nc-opt strong{font-size:15px!important;color:#2e503a!important;}
html body #modalHost#modalHost#modalHost#modalHost .er1385-new-chat .nc-opt span{font-size:12px!important;color:#607358!important;}

