/* TR Global v139 — shared update notification and utility controls */
:root{
  --tr-utility-width:220px;
  --tr-utility-gap:12px;
  --tr-utility-edge:18px;
}

/* Website/app update is a top notification rail, never a bottom-right toast. */
.tr-update-toast{
  position:relative!important;
  inset:auto!important;
  z-index:10030!important;
  box-sizing:border-box!important;
  width:100%!important;
  max-width:none!important;
  min-height:58px!important;
  margin:0!important;
  padding:10px max(20px,calc((100vw - 1180px)/2))!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:18px!important;
  border:0!important;
  border-top:1px solid #d9e4f5!important;
  border-bottom:1px solid #cedcf2!important;
  border-radius:0!important;
  background:linear-gradient(90deg,#edf4ff 0%,#f8fbff 52%,#eef4ff 100%)!important;
  color:#12214d!important;
  box-shadow:0 12px 28px rgba(18,45,105,.08)!important;
  transform:none!important;
  opacity:1!important;
  pointer-events:auto!important;
}
.tr-update-toast[hidden]{display:none!important}
.tr-update-toast-copy{display:grid!important;gap:2px!important;min-width:0!important}
.tr-update-toast-copy strong{font-size:13px!important;line-height:1.2!important;color:#142555!important}
.tr-update-toast-copy small{font-size:11px!important;line-height:1.35!important;color:#66738d!important}
.tr-update-toast-actions{display:flex!important;align-items:center!important;gap:8px!important;flex:0 0 auto!important}
.tr-update-toast-actions button,.tr-update-toast>button{
  min-height:38px!important;
  border:0!important;
  border-radius:999px!important;
  padding:8px 15px!important;
  background:#173da8!important;
  color:#fff!important;
  font:inherit!important;
  font-size:12px!important;
  font-weight:850!important;
  cursor:pointer!important;
}
.tr-update-toast-actions button.secondary{border:1px solid #cbd8ec!important;background:#fff!important;color:#304064!important}

/* Lily and Install App share one fixed stack and cannot overlap. */
.tr-utility-stack{
  position:fixed!important;
  z-index:10020!important;
  right:calc(var(--tr-utility-edge) + var(--tr-safe-right,0px))!important;
  bottom:calc(var(--tr-utility-edge) + var(--tr-safe-bottom,0px))!important;
  width:min(var(--tr-utility-width),calc(100vw - 24px))!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:stretch!important;
  gap:var(--tr-utility-gap)!important;
  margin:0!important;
  padding:0!important;
  pointer-events:none!important;
}
.tr-utility-stack[hidden],.tr-utility-stack:empty{display:none!important}
.tr-utility-stack>.lily-assistant,
.tr-utility-stack>.tr-install-button{
  position:relative!important;
  inset:auto!important;
  right:auto!important;
  bottom:auto!important;
  left:auto!important;
  top:auto!important;
  width:100%!important;
  min-width:0!important;
  max-width:none!important;
  margin:0!important;
  box-sizing:border-box!important;
  pointer-events:auto!important;
  transform:none!important;
}
.tr-utility-stack>.lily-assistant{order:1!important;z-index:2!important}
.tr-utility-stack>.tr-install-button{order:2!important;z-index:1!important}
.tr-utility-stack .lily-launch,
.tr-utility-stack>.tr-install-button{
  width:100%!important;
  min-width:0!important;
  max-width:none!important;
  min-height:64px!important;
  height:64px!important;
  box-sizing:border-box!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:11px!important;
  padding:9px 16px 9px 9px!important;
  border:1px solid rgba(255,255,255,.18)!important;
  border-radius:999px!important;
  background:linear-gradient(135deg,#11134a 0%,#263fc0 100%)!important;
  color:#fff!important;
  box-shadow:0 18px 44px rgba(8,19,58,.28)!important;
  text-align:left!important;
}
.tr-utility-stack .lily-launch:hover,
.tr-utility-stack>.tr-install-button:hover{transform:translateY(-2px)!important;box-shadow:0 22px 52px rgba(8,19,58,.34)!important}
.tr-utility-stack .lily-launch-avatar,
.tr-utility-stack .tr-install-button-icon{
  display:grid!important;
  place-items:center!important;
  width:46px!important;
  height:46px!important;
  flex:0 0 46px!important;
  margin:0!important;
  border-radius:50%!important;
  background:linear-gradient(145deg,#fff,#dfe7ff)!important;
  color:#203ca8!important;
  font-size:18px!important;
  font-weight:950!important;
  box-shadow:inset 0 0 0 1px rgba(31,59,161,.12)!important;
}
.tr-utility-stack .tr-install-button-icon{background:rgba(255,255,255,.15)!important;color:#fff!important;font-size:23px!important;box-shadow:none!important}
.tr-utility-stack .lily-launch-copy,
.tr-utility-stack>.tr-install-button>span:last-child{display:grid!important;gap:2px!important;min-width:0!important;text-align:left!important}
.tr-utility-stack .lily-launch-copy strong,
.tr-utility-stack>.tr-install-button strong{display:block!important;color:#fff!important;font-size:14px!important;line-height:1.08!important;white-space:nowrap!important}
.tr-utility-stack .lily-launch-copy small,
.tr-utility-stack>.tr-install-button small{display:block!important;color:#dce7ff!important;font-size:9px!important;line-height:1.1!important;font-weight:800!important;text-transform:uppercase!important;letter-spacing:.075em!important;white-space:nowrap!important}
.tr-utility-stack .lily-panel{
  position:absolute!important;
  left:auto!important;
  right:0!important;
  top:auto!important;
  bottom:calc(100% + 12px)!important;
  margin:0!important;
  z-index:5!important;
}

/* Installed/native modes keep Lily above their account navigation. */
html.tr-pwa-standalone .tr-utility-stack,
html.tr-pwa-installed .tr-utility-stack,
html.tr-windows-app .tr-utility-stack{bottom:calc(18px + var(--tr-safe-bottom,0px))!important}
@media(max-width:860px){
  body.tr-account-workspace .tr-utility-stack,
  html.tr-native-app body.tr-account-workspace .tr-utility-stack,
  html.tr-pwa-standalone body.tr-account-workspace .tr-utility-stack{
    bottom:calc(var(--tr-app-nav-height,74px) + var(--tr-safe-bottom,0px) + 12px)!important;
  }
}
@media(max-width:640px){
  :root{--tr-utility-width:196px;--tr-utility-gap:9px;--tr-utility-edge:10px}
  .tr-update-toast{min-height:0!important;align-items:flex-start!important;gap:10px!important;padding:10px 12px!important}
  .tr-update-toast-copy small{display:none!important}
  .tr-update-toast-actions{margin-left:auto!important}
  .tr-update-toast-actions button,.tr-update-toast>button{min-height:36px!important;padding:7px 12px!important}
  .tr-utility-stack .lily-launch,
  .tr-utility-stack>.tr-install-button{height:56px!important;min-height:56px!important;padding:7px 12px 7px 7px!important;gap:9px!important}
  .tr-utility-stack .lily-launch-avatar,
  .tr-utility-stack .tr-install-button-icon{width:42px!important;height:42px!important;flex-basis:42px!important;font-size:17px!important}
  .tr-utility-stack .lily-launch-copy strong,
  .tr-utility-stack>.tr-install-button strong{font-size:13px!important}
  .tr-utility-stack .lily-panel{
    position:fixed!important;
    left:8px!important;
    right:8px!important;
    bottom:calc(142px + var(--tr-safe-bottom,0px))!important;
    width:auto!important;
    height:min(640px,calc(100dvh - 162px - var(--tr-safe-bottom,0px)))!important;
    max-height:calc(100svh - 162px - var(--tr-safe-bottom,0px))!important;
  }
  body.tr-account-workspace .tr-utility-stack .lily-panel,
  html.tr-native-app body.tr-account-workspace .tr-utility-stack .lily-panel{
    bottom:calc(142px + var(--tr-app-nav-height,74px) + var(--tr-safe-bottom,0px))!important;
    height:min(580px,calc(100dvh - 238px - var(--tr-safe-bottom,0px)))!important;
  }
}
@media print{.tr-update-toast,.tr-utility-stack{display:none!important}}


/* ID-owned overrides stay authoritative even when Lily loads its stylesheet later. */
#tr-utility-stack.tr-utility-stack{
  position:fixed!important;right:calc(var(--tr-utility-edge) + var(--tr-safe-right,0px))!important;bottom:calc(var(--tr-utility-edge) + var(--tr-safe-bottom,0px))!important;
  width:min(var(--tr-utility-width),calc(100vw - 24px))!important;display:flex!important;flex-direction:column!important;align-items:stretch!important;gap:var(--tr-utility-gap)!important;
}
#tr-utility-stack.tr-utility-stack>.lily-assistant,
#tr-utility-stack.tr-utility-stack>.tr-install-button{position:relative!important;inset:auto!important;right:auto!important;bottom:auto!important;left:auto!important;top:auto!important;width:100%!important;min-width:0!important;max-width:none!important;margin:0!important;transform:none!important}
#tr-utility-stack.tr-utility-stack .lily-launch,
#tr-utility-stack.tr-utility-stack>.tr-install-button{width:100%!important;min-width:0!important;max-width:none!important;height:64px!important;min-height:64px!important;padding:9px 16px 9px 9px!important}
#tr-utility-stack.tr-utility-stack .lily-panel{position:absolute!important;left:auto!important;right:0!important;top:auto!important;bottom:calc(100% + 12px)!important;margin:0!important}
@media(max-width:640px){
  #tr-utility-stack.tr-utility-stack .lily-launch,
  #tr-utility-stack.tr-utility-stack>.tr-install-button{height:56px!important;min-height:56px!important;padding:7px 12px 7px 7px!important}
  #tr-utility-stack.tr-utility-stack .lily-panel{position:fixed!important;left:8px!important;right:8px!important;bottom:calc(142px + var(--tr-safe-bottom,0px))!important;width:auto!important;height:min(640px,calc(100dvh - 162px - var(--tr-safe-bottom,0px)))!important}
}
