/* EarthRoster V1384 — focused polish of the existing mobile UI. */
@media(max-width:1023px){
 /* One chat plane, not overlapping cards/bars. Top status bar is intentionally
    kept outside the tap targets on both Safari and the installed iOS app. */
 html.er1384.er1384-ios{--er1382-chat-safe-top:max(54px,env(safe-area-inset-top,0px));}
 html.er1384 body.ww-chat-active.chat-thread-open #app#app#app#app .chat-shell.show-thread{
   position:fixed!important;top:var(--er1382-chat-safe-top)!important;bottom:auto!important;
   left:0!important;right:0!important;inset-inline:0!important;
   height:calc(var(--er1384-thread-vh,100dvh) - var(--er1382-chat-safe-top))!important;
   max-height:none!important;width:100%!important;z-index:1150!important;
   display:flex!important;flex-direction:column!important;
   box-shadow:none!important;border:0!important;border-radius:0!important;
   background:#f3f1e9!important;overflow:hidden!important;transform:none!important;
 }
 html.er1384 body.ww-chat-active.chat-thread-open #app#app#app#app .chat-shell.show-thread>.chat-list{display:none!important;}
 html.er1384 body.ww-chat-active.chat-thread-open #app#app#app#app .chat-shell.show-thread>.chat-thread{
   position:relative!important;display:flex!important;flex-direction:column!important;
   height:100%!important;min-height:0!important;max-height:100%!important;
   width:100%!important;overflow:hidden!important;box-shadow:none!important;
   background:#f3f1e9!important;
 }
 html.er1384 body.ww-chat-active.chat-thread-open #app#app#app#app .chat-thread-head{
   flex:0 0 66px!important;min-height:66px!important;max-height:66px!important;
   position:relative!important;z-index:4!important;overflow:visible!important;
   padding:9px 12px!important;box-shadow:0 2px 10px rgba(21,57,35,.11)!important;
 }
 html.er1384 body.ww-chat-active.chat-thread-open #app#app#app#app .chat-thread-head [data-action="back-chatlist"]{
   display:grid!important;place-items:center!important;flex:0 0 46px!important;
   width:46px!important;height:46px!important;min-width:46px!important;min-height:46px!important;
   position:relative!important;z-index:10!important;pointer-events:auto!important;
   touch-action:manipulation!important;border-radius:13px!important;
 }
 html.er1384 body.ww-chat-active.chat-thread-open #app#app#app#app .chat-scroll{
   flex:1 1 auto!important;min-height:0!important;max-height:none!important;
   padding-bottom:12px!important;overflow-y:auto!important;overscroll-behavior:contain!important;
   background:#f3f1e9!important;
 }
 html.er1384 body.ww-chat-active.chat-thread-open #app#app#app#app .chat-composer{
   flex:0 0 auto!important;position:relative!important;bottom:auto!important;z-index:4!important;
   margin:0!important;border-radius:0!important;
   background:#e9eee5!important;box-shadow:0 -2px 10px rgba(17,50,32,.06)!important;
 }
 /* Keep the inbox as a single surface. Its scroller sits directly above
    the bottom tab bar; no large unpainted white rectangle below the cards. */
 html.er1384 body.ww-chat-active:not(.chat-thread-open) #app#app#app#app .chat-shell,
 html.er1384 body.ww-chat-active:not(.chat-thread-open) #app#app#app#app .chat-list.cv-list,
 html.er1384 body.ww-chat-active:not(.chat-thread-open) #app#app#app#app .cv-threads{
   background:#f3f1e8!important;border-radius:0!important;box-shadow:none!important;
 }
 html.er1384 body.ww-chat-active:not(.chat-thread-open) #app#app#app#app .cv-threads{
   border:0!important;scroll-padding-bottom:4px!important;
 }
 html.er1384 body.ww-chat-active:not(.chat-thread-open) #app#app#app#app .cv-row{
   box-shadow:0 2px 6px rgba(29,56,36,.045)!important;
 }
 /* Existing roster design preserved, with more readable selection and slight
    depth. No added animation, transforms or jumping when days are switched. */
 html.er1384 body.ww-roster-active #app#app#app#app .rst-hero{
   background:linear-gradient(120deg,#22684a,#184b39 70%,#103a2f)!important;
   box-shadow:0 8px 20px rgba(22,73,44,.18)!important;
 }
 /* Keep the "Today" action legible against the green roster header. */
 html.er1384 body.ww-roster-active #app#app#app#app .er1029-roster-today{
   color:#f6fff2!important;opacity:1!important;border-color:rgba(245,255,238,.62)!important;
   background:rgba(255,255,255,.08)!important;
 }
 html.er1384 body.ww-roster-active #app#app#app#app .rst-days .rst-day.sel{
   border:2px solid #236f46!important;background:#daebcf!important;
   box-shadow:inset 0 0 0 1px rgba(21,88,50,.22),0 3px 9px rgba(24,81,48,.13)!important;
 }
 html.er1384 body.ww-roster-active #app#app#app#app .rst-days .rst-day.sel .rd-num{color:#184d30!important;font-weight:800!important;}
 html.er1384 body.ww-roster-active #app#app#app#app .roster-mobile{scroll-behavior:auto!important;overflow-anchor:none!important;}
 html.er1384 body.ww-roster-active #app#app#app#app .roster-mobile>.rc-card{
   border-color:rgba(46,101,67,.16)!important;
   box-shadow:0 4px 11px rgba(30,65,42,.11)!important;
 }
 html.er1384 body.ww-roster-active #app#app#app#app .roster-mobile>.rst-day-head{
   border-bottom:1px solid #d9e4d3!important;padding-bottom:8px!important;
 }
}
/* The one first-login setup affordance is inline, NOT a second popup/dialog.
   On pressing Allow, the operating system alone renders its permission alert. */
html.er1384 body #page #er1368-alert-dialog.er1368-alert-backdrop{
 position:relative!important;inset:auto!important;display:block!important;
 width:100%!important;max-width:100%!important;height:auto!important;max-height:none!important;
 margin:6px 0 12px!important;padding:0!important;overflow:visible!important;
 background:transparent!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;
 z-index:auto!important;pointer-events:auto!important;
}
html.er1384 body #page #er1368-alert-dialog .er1368-alert-dialog{
 display:flex!important;align-items:center!important;flex-direction:row!important;flex-wrap:wrap!important;
 width:100%!important;max-width:100%!important;height:auto!important;min-height:0!important;
 gap:6px 10px!important;margin:0!important;padding:12px 13px!important;
 border:1px solid #cddccc!important;border-left:4px solid #327d51!important;
 border-radius:12px!important;background:#e9f2e5!important;
 box-shadow:none!important;overflow:visible!important;
}
html.er1384 body #page #er1368-alert-dialog .er1368-kicker,
html.er1384 body #page #er1368-alert-dialog .er1371-permission-icon,
html.er1384 body #page #er1368-alert-dialog .er1382-alert-features,
html.er1384 body #page #er1368-alert-dialog .er1368-alert-caption{display:none!important;}
html.er1384 body #page #er1368-alert-dialog .er1368-alert-dialog h2{
 margin:0!important;font:750 14px/1.3 system-ui,sans-serif!important;color:#204a34!important;
 flex:1 1 180px!important;
}
html.er1384 body #page #er1368-alert-dialog .er1371-permission-copy{
 flex:1 1 100%!important;order:2!important;margin:0!important;
 font:400 12px/1.4 system-ui,sans-serif!important;color:#60755d!important;
}
html.er1384 body #page #er1368-alert-dialog .er1371-permission-actions{
 order:3!important;display:flex!important;flex:1 1 100%!important;gap:8px!important;
 margin:3px 0 0!important;grid-template-columns:none!important;
}
html.er1384 body #page #er1368-alert-dialog .er1371-permission-actions button{
 flex:1 1 auto!important;height:39px!important;min-height:39px!important;padding:6px 11px!important;
 font:700 12px/1.2 system-ui,sans-serif!important;border-radius:9px!important;
}
html.er1384 body #page #er1368-alert-dialog .er1368-alert-close{display:none!important;}
@media(min-width:650px){html.er1384 body #page #er1368-alert-dialog .er1368-alert-dialog{max-width:600px!important;}}
@media(prefers-reduced-motion:reduce){html.er1384 body.ww-roster-active .rst-day,html.er1384 body.ww-chat-active .chat-shell{animation:none!important;transition:none!important}}
