
/* NEXT v86: consistent top navigation and clearer active states */
.app-topbar{
  position:sticky;
  top:14px;
  z-index:80;
  display:grid;
  grid-template-columns:minmax(170px,.8fr) minmax(0,1.7fr) auto;
  gap:12px;
  align-items:center;
  margin:0 0 16px;
  padding:10px;
  border:1px solid rgba(170,205,255,.14);
  border-radius:24px;
  background:linear-gradient(180deg,rgba(7,13,24,.82),rgba(3,7,15,.88));
  box-shadow:0 18px 60px rgba(0,0,0,.30), inset 0 1px 0 rgba(255,255,255,.04);
  backdrop-filter:blur(18px);
}
.app-location{
  display:grid;
  gap:2px;
  padding:4px 8px 4px 10px;
  min-width:0;
}
.app-location span{
  color:#79d9ff;
  font-size:11px;
  font-weight:950;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.app-location strong{
  color:#f8fbff;
  font-size:16px;
  line-height:1.05;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.app-tabs{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:7px;
  min-width:0;
}
.app-tab,.app-primary-action{
  border:1px solid rgba(255,255,255,.10);
  background:rgba(255,255,255,.045);
  color:#dce9f6;
  min-height:42px;
  border-radius:16px;
  padding:9px 12px;
  cursor:pointer;
  font:inherit;
  font-weight:900;
  transition:transform .18s ease,border-color .18s ease,background .18s ease,box-shadow .18s ease;
  white-space:nowrap;
}
.app-tab:hover,.app-primary-action:hover{
  transform:translateY(-1px);
  border-color:rgba(34,230,255,.42);
  background:rgba(34,230,255,.07);
}
.app-tab.active{
  color:#fff;
  border-color:rgba(11,132,255,.58);
  background:linear-gradient(90deg,rgba(11,132,255,.27),rgba(34,230,255,.09));
  box-shadow:0 12px 34px rgba(11,132,255,.16), inset 0 -2px 0 rgba(34,230,255,.58);
}
.app-primary-action{
  color:#07111d;
  background:linear-gradient(180deg,#22e6ff,#0b84ff);
  border-color:rgba(255,255,255,.16);
  box-shadow:0 14px 34px rgba(11,132,255,.20);
}
.home-context-nav .nav-link.active{
  color:#fff !important;
  border-color:rgba(11,132,255,.60) !important;
  background:linear-gradient(90deg,rgba(11,132,255,.23),rgba(34,230,255,.08)) !important;
  box-shadow:0 0 0 1px rgba(11,132,255,.18) inset !important;
}
.v84-nav-item span:last-child{line-height:1.1;}
body.exercise-active .app-topbar,
body.tv-mode .app-topbar{display:none!important;}
@media(min-width:1060px){
  .app-topbar{top:16px;}
}
@media(max-width:1059px){
  .app-topbar{
    top:8px;
    grid-template-columns:1fr;
    gap:8px;
    border-radius:20px;
    margin-bottom:12px;
  }
  .app-location{
    display:flex;
    align-items:baseline;
    gap:8px;
    padding:2px 6px 0;
  }
  .app-location strong{font-size:15px;}
  .app-tabs{grid-template-columns:repeat(4,minmax(0,1fr));}
  .app-tab{min-height:38px;padding:8px 6px;font-size:12px;border-radius:13px;}
  .app-primary-action{display:none;}
  .home-topbar{display:none!important;}
}
@media(max-width:560px){
  .app-tabs{grid-template-columns:repeat(2,minmax(0,1fr));}
  .app-tab{font-size:13px;}
}

/* NEXT v86.1: mobile navigation fix */
.app-nav-toggle{
  display:none;
  border:1px solid rgba(255,255,255,.12);
  background:rgba(255,255,255,.055);
  color:#eaf5ff;
  min-height:42px;
  border-radius:16px;
  padding:9px 12px;
  cursor:pointer;
  font:inherit;
  font-weight:950;
  white-space:nowrap;
}
.app-nav-toggle:hover{
  border-color:rgba(34,230,255,.42);
  background:rgba(34,230,255,.07);
}
@media(max-width:1059px){
  .app-topbar{
    grid-template-columns:minmax(0,1fr) auto;
    align-items:center;
  }
  .app-nav-toggle{display:inline-flex;align-items:center;justify-content:center;}
  .app-tabs{
    display:none;
    grid-column:1 / -1;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:7px;
    padding-top:2px;
  }
  .app-topbar.nav-open .app-tabs{display:grid;}
  .app-topbar.nav-open .app-nav-toggle{
    border-color:rgba(11,132,255,.58);
    background:linear-gradient(90deg,rgba(11,132,255,.24),rgba(34,230,255,.08));
    box-shadow:0 12px 34px rgba(11,132,255,.12), inset 0 -2px 0 rgba(34,230,255,.44);
  }
  .app-tab{min-height:42px;font-size:13px;}
}
@media(max-width:560px){
  .app-topbar{top:6px;border-radius:18px;padding:8px;}
  .app-location strong{font-size:14px;}
  .app-location span{font-size:10px;}
  .app-nav-toggle{min-height:38px;border-radius:14px;padding:8px 10px;font-size:13px;}
  .app-tabs{grid-template-columns:1fr 1fr;}
}

/* NEXT v86.1: active pass header — separate Menu and Overview on iPhone */
@media(max-width:760px) and (orientation:portrait){
  body.exercise-active .sticky-nav{
    z-index:180!important;
    padding:7px 8px 7px!important;
  }
  body.exercise-active .nav-actions{
    display:block!important;
  }
  body.exercise-active .nav-left{
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    gap:8px!important;
    width:100%!important;
    max-width:none!important;
    align-items:center!important;
  }
  body.exercise-active .menu-wrap{
    position:static!important;
    display:block!important;
    width:100%!important;
    min-width:0!important;
  }
  body.exercise-active .menu-toggle,
  body.exercise-active .nav-left .ghost-btn{
    width:100%!important;
    min-width:0!important;
    min-height:40px!important;
    height:40px!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    padding:8px 10px!important;
    border-radius:14px!important;
    font-size:13px!important;
    line-height:1!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
  }
  body.exercise-active .nav-left .ghost-btn{
    background:rgba(255,255,255,.055)!important;
    border:1px solid rgba(255,255,255,.12)!important;
    color:#eaf5ff!important;
  }
  body.exercise-active .top-tools{
    position:fixed!important;
    left:8px!important;
    right:8px!important;
    top:56px!important;
    width:auto!important;
    max-height:42dvh!important;
    overflow:auto!important;
    margin:0!important;
    z-index:240!important;
    padding:8px!important;
    border-radius:16px!important;
    background:rgba(6,12,22,.97)!important;
    box-shadow:0 22px 70px rgba(0,0,0,.52)!important;
  }
  body.exercise-active .top-tools.open{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  body.exercise-active .progress-meta{
    margin-top:6px!important;
  }
}
