/* HN Fitness v2.57: Premium floating navigation — app shells only. */
@media(max-width:690px){
 /* The PT shell retains its own independent scroll area. The dock is removed from the grid. */
 #app{grid-template-rows:auto minmax(0,1fr) 0px!important;}
 #app>main{padding-bottom:calc(115px + env(safe-area-inset-bottom,0px))!important;}
 #app>nav, body.is-admin #app>nav{
  position:fixed!important;grid-area:auto!important;
  inset:auto auto max(9px,env(safe-area-inset-bottom,0px)) 50%!important;
  transform:translateX(-50%)!important;
  width:calc(100% - 24px)!important;max-width:540px!important;
  box-sizing:border-box!important;height:70px!important;min-height:70px!important;
  padding:6px!important;z-index:90!important;
  display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr))!important;
  gap:3px!important;align-items:stretch!important;
  overflow:hidden!important;flex-direction:row!important;flex-wrap:nowrap!important;
  background:rgba(31,32,39,.94)!important;border:1px solid rgba(130,134,150,.24)!important;
  border-radius:999px!important;box-shadow:0 15px 40px rgba(0,0,0,.43),0 2px 10px rgba(0,0,0,.2)!important;
  -webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);
 }
 #app>nav::before,#app>nav::after,#app>nav .nav-title{display:none!important;}
 #app>nav button.hnpt-nav-secondary{display:none!important;}
 #app>nav button.hnpt-nav-primary,body.is-admin #app>nav button.hnpt-nav-primary{
  width:100%!important;max-width:none!important;min-width:0!important;flex:none!important;
  min-height:56px!important;height:56px!important;box-sizing:border-box!important;
  padding:5px 0!important;margin:0!important;border:0!important;
  display:flex!important;flex-direction:column!important;align-items:center!important;
  justify-content:center!important;gap:3px!important;border-radius:28px!important;
  background:transparent!important;color:#b5b6c1!important;box-shadow:none!important;
 }
 #app>nav button.hnpt-nav-primary.on,body.is-admin #app>nav button.hnpt-nav-primary.on{
  background:linear-gradient(135deg,#4c2835,#3d222e)!important;color:#ffe7ec!important;
 }
 #app>nav button.hnpt-nav-primary .nav-label,body.is-admin #app>nav button.hnpt-nav-primary .nav-label{
  display:block!important;line-height:1.16!important;font-weight:650!important;
  font-size:clamp(10px,2.8vw,11.5px)!important;letter-spacing:-.035em!important;
  overflow:visible!important;text-overflow:clip!important;
 }
 #app>nav button.hnpt-nav-primary .nav-icon{
  width:24px!important;height:24px!important;display:grid!important;place-items:center!important;
  color:inherit!important;font-size:22px!important;
 }
 #app>nav button.hnpt-nav-primary .hnpt-nav-svg{width:22px!important;height:22px!important;}
 #app>nav button.hnpt-nav-primary.on .nav-icon{color:#ff8da4!important;}
 #app>nav button.hnpt-nav-primary:focus-visible{outline:2px solid #ffc1cb!important;outline-offset:-4px!important;}
 html[data-hn-theme="light"] #app>nav{background:rgba(255,255,255,.97)!important;border-color:#e3dce4!important;box-shadow:0 10px 36px rgba(37,40,61,.14)!important;}
 html[data-hn-theme="light"] #app>nav button.hnpt-nav-primary:not(.on){color:#5d6471!important;background:transparent!important;}
 html[data-hn-theme="light"] #app>nav button.hnpt-nav-primary.on{background:#f5e3e8!important;color:#a41f3d!important;}
 html[data-hn-theme="light"] #app>nav button.hnpt-nav-primary.on .nav-icon{color:#c32e4d!important;}
}
/* Client: five equally wide, touch-friendly destinations, floating above the home indicator. */
#client{padding-bottom:calc(116px + env(safe-area-inset-bottom,0px));}
#client>.bottom{
 position:fixed!important;bottom:max(9px,calc(env(safe-area-inset-bottom,0px) - 10px))!important;
 left:50%!important;right:auto!important;transform:translateX(-50%)!important;
 width:calc(100% - 24px)!important;max-width:600px!important;
 height:70px!important;min-height:70px!important;box-sizing:border-box!important;
 display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr))!important;
 align-items:stretch!important;gap:3px!important;padding:6px!important;
 background:rgba(31,32,39,.94)!important;border:1px solid rgba(130,134,150,.24)!important;
 border-radius:999px!important;box-shadow:0 15px 40px rgba(0,0,0,.43),0 2px 10px rgba(0,0,0,.20)!important;
 -webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);z-index:90!important;
}
#client>.bottom button{
 min-width:0!important;min-height:56px!important;height:56px!important;
 padding:5px 0!important;display:flex!important;align-items:center!important;
 justify-content:center!important;flex-direction:column!important;gap:3px!important;
 border-radius:28px!important;background:transparent!important;border:0!important;
 box-shadow:none!important;color:#b5b6c1!important;
}
#client>.bottom button.active{background:linear-gradient(135deg,#4c2835,#3d222e)!important;color:#ffe7ec!important;}
#client>.bottom i{display:grid!important;place-items:center!important;width:23px;height:23px;font-size:22px!important;line-height:1!important;color:inherit!important;}
#client>.bottom svg{width:22px;height:22px;display:block;}
#client>.bottom button.active i{color:#ff8da4!important;}
#client>.bottom span{font-size:clamp(10px,2.8vw,11.5px)!important;line-height:1.16!important;font-weight:650!important;letter-spacing:-.035em!important;white-space:nowrap!important;max-width:100%;overflow:hidden;text-overflow:ellipsis;}
#client>.bottom button:focus-visible{outline:2px solid #ffc1cb!important;outline-offset:-4px!important;}
#client .hn-seli-fab{bottom:calc(92px + env(safe-area-inset-bottom,0px))!important;z-index:89;}
#client #hn-main{padding-bottom:26px;}
#client #client-toast{bottom:calc(98px + env(safe-area-inset-bottom,0px))!important;}
html[data-hn-theme="light"] #client>.bottom{background:rgba(255,255,255,.97)!important;border-color:#e3dce4!important;box-shadow:0 10px 36px rgba(37,40,61,.14)!important;}
html[data-hn-theme="light"] #client>.bottom button:not(.active){color:#5d6471!important;background:transparent!important;}
html[data-hn-theme="light"] #client>.bottom button.active{background:#f5e3e8!important;color:#a41f3d!important;}
html[data-hn-theme="light"] #client>.bottom button.active i{color:#c32e4d!important;}
.hnpt-me-head{display:flex;align-items:center;gap:13px;margin:5px 0 18px;min-width:0;}
.hnpt-me-head>.avatar,.hnpt-me-head>.profile-dot{width:48px;height:48px;flex:none;border-radius:50%;}
.hnpt-me-head>div:nth-child(2){min-width:0;flex:1;}
.hnpt-me-head h2{margin:0!important;}
.hnpt-me-head .intro{margin:0!important;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.hnpt-me-settings{width:auto!important;flex:none;font-size:12px!important;padding:9px 11px!important;}
@media(max-width:365px){#client>.bottom,#app>nav{width:calc(100% - 16px)!important;padding:5px!important;}#client>.bottom span{font-size:10px!important;}}
@media(prefers-reduced-motion:reduce){#client>.bottom button,#app>nav button{transition:none!important;}}

@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){#app>nav,#client>.bottom{background:var(--hn-surface-raised)!important}}

/* v2.57.6 — iPhone standalone PT: do not use the legacy in-flow nav safe-area
   padding inside the 70px floating dock. On notched phones the old high-
   specificity rule added ~34px of padding and forced the dock back to the edge.
   The home-indicator clearance belongs OUTSIDE the dock (bottom), not inside. */
@media (max-width:690px) {
 html.hnpt-ios-pwa #app {
  grid-template-rows:auto minmax(0,1fr) 0px!important;
 }
 html.hnpt-ios-pwa #app>nav,
 html.hnpt-ios-pwa body.is-admin #app>nav {
  position:fixed!important;
  grid-area:auto!important;
  inset:auto auto max(9px,calc(env(safe-area-inset-bottom,0px) - 10px)) 50%!important;
  bottom:max(9px,calc(env(safe-area-inset-bottom,0px) - 10px))!important;
  transform:translateX(-50%)!important;
  width:calc(100% - 24px)!important;
  max-width:540px!important;
  height:70px!important;
  min-height:70px!important;
  max-height:70px!important;
  padding:6px!important;
  box-sizing:border-box!important;
  display:grid!important;
  grid-template-columns:repeat(5,minmax(0,1fr))!important;
  align-items:stretch!important;
  overflow:hidden!important;
  border:1px solid rgba(130,134,150,.24)!important;
  border-radius:999px!important;
  background:rgba(31,32,39,.96)!important;
  box-shadow:0 12px 32px rgba(0,0,0,.38)!important;
  z-index:90!important;
 }
 html.hnpt-ios-pwa #app>main {
  padding-bottom:calc(116px + env(safe-area-inset-bottom,0px))!important;
 }
 html[data-hn-theme="light"].hnpt-ios-pwa #app>nav,
 html[data-hn-theme="light"].hnpt-ios-pwa body.is-admin #app>nav {
  background:rgba(255,255,255,.97)!important;
  border-color:#e3dce4!important;
  box-shadow:0 10px 30px rgba(37,40,61,.14)!important;
 }
}
@media (max-width:365px) {
 html.hnpt-ios-pwa #app>nav,
 html.hnpt-ios-pwa body.is-admin #app>nav {width:calc(100% - 16px)!important;padding:5px!important}
}
