/* EarthRoster V1452.135 — desktop roster density & stable launch handoff.
   No global app header/footer redesign, no roster information removed. */
/* One visually stable loader. Authentication checks remain enforced. */
#er101-auth-launch, #er115-access-status {
 position:fixed!important;inset:0!important;align-items:center!important;justify-content:center!important;
 padding:max(18px,env(safe-area-inset-top)) 18px max(18px,env(safe-area-inset-bottom))!important;
 overflow:hidden!important;min-height:100dvh!important;max-height:100dvh!important;
 overscroll-behavior:none!important;
}
#er101-auth-launch .er113-launch-content, #er115-access-status .er113-launch-content {
 transform:none!important;animation:none!important;transition:none!important;
 position:relative!important;inset:auto!important;margin:auto!important;
 width:min(330px,100%)!important;max-width:100%!important;
}
#er101-auth-launch .er113-launch-content :is(img,p,span,i),
#er115-access-status .er113-launch-content :is(img,p,span,i) {
 animation:none!important;transition:none!important;transform:none!important;
}
@layer er-earth {
@media(min-width:1024px) and (pointer:fine){
 /* Restore the existing floating messenger on Roster and keep it anchored at
    bottom-right, including Clock/Payroll pages. Other chat views unaffected. */
 html.er-earth body.ww-roster-active #er1121Messenger#er1121Messenger#er1121Messenger#er1121Messenger#er1121Messenger#er1121Messenger#er1121Messenger {
   display:block!important;visibility:visible!important;pointer-events:none!important;
 }
 html.er-earth body:not(.ww-chat-active) #er1121Messenger:not(.is-open) .er1121-launcher,
 html.er-earth body:has(.er1388-payroll):not(.ww-chat-active) #er1121Messenger:not(.is-open) .er1121-launcher {
   display:flex!important;top:auto!important;left:auto!important;right:20px!important;bottom:20px!important;
   height:44px!important;min-height:44px!important;padding:0 13px!important;
   border-radius:12px!important;box-shadow:0 6px 16px rgba(23,57,35,.18)!important;
   z-index:15!important;
 }
 /* Desk roster: seven-day visibility when width permits; otherwise a single
    horizontally scrollable grid. No daily column is removed or hidden. */
 html.er-earth body.ww-roster-active #app #page .er14509-roster{
   --er14509-staff-width:clamp(150px,12vw,176px)!important;
   --er14509-day-width:max(112px,calc((100% - clamp(150px,12vw,176px)) / 7))!important;
   --er14509-grid-width:max(956px,100%)!important;
 }
 html.er-earth body.ww-roster-active #app #page .er14509-roster .er1170-grid{
   grid-template-columns:clamp(150px,12vw,176px) repeat(7,minmax(112px,1fr))!important;
   width:max(956px,100%)!important;min-width:956px!important;
   grid-auto-rows:minmax(69px,auto)!important;
 }
 html.er-earth body.ww-roster-active #app #page .er14509-roster .er1170-jobs{
   gap:3px!important;padding:4px!important;
 }
 html.er-earth body.ww-roster-active #app #page .er14509-card.er1170-job{
   height:56px!important;min-height:56px!important;max-height:56px!important;
   padding:3px 5px!important;gap:0!important;
   border-radius:7px!important;
   /* contain styles without overriding popup stacking contexts */
 }
 html.er-earth body.ww-roster-active #app #page .er14509-card .er14509-card-overline {height:13px!important;}
 html.er-earth body.ww-roster-active #app #page .er14509-card .er14509-client{
   font-size:10.5px!important;line-height:13px!important;font-weight:690!important;
   padding-right:25px!important;
 }
 html.er-earth body.ww-roster-active #app #page .er14509-card .er14509-time{
   font-size:10px!important;line-height:13px!important;
   white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;
   position:relative!important;z-index:2!important;
 }
 html.er-earth body.ww-roster-active #app #page .er14509-card .er14509-hours,
 html.er-earth body.ww-roster-active #app #page .er14509-card .er14509-hours b {
   font-size:9px!important;line-height:11px!important;
   white-space:nowrap!important;min-width:0!important;max-width:100%!important;
   font-variant-numeric:tabular-nums!important;letter-spacing:-.15px!important;
 }
 /* Move quick controls to the first row, out of the shift-time line. */
 html.er-earth body.ww-roster-active #app #page .er14509-card .er1196-quick{
   top:1px!important;right:2px!important;bottom:auto!important;
   max-width:25px!important;max-height:22px!important;z-index:4!important;
 }
 html.er-earth body.ww-roster-active #app #page .er14509-card .er1196-quick [data-action]{
   width:20px!important;height:20px!important;min-width:20px!important;
 }
 /* Prevent expensive shadow/blur operations while scrolling crowded schedules. */
 html.er-earth body.ww-roster-active #app #page .er14509-roster .er14509-card{
   transition:none!important;backdrop-filter:none!important;
 }
 html.er-earth body.ww-roster-active #app #page .er14509-roster .er1170-scroll{
   scroll-behavior:auto!important;overscroll-behavior:contain!important;
   -webkit-overflow-scrolling:touch;
 }
}
}
@media(max-width:1023px){
 /* No desktop roster adjustments on touch devices. */
}
