.mobile-nav { display: none; }
.install-controls { margin: 18px 0; }
.menu-links { display: grid; margin-bottom: 24px; }
.menu-links a { display: flex; justify-content: space-between; gap: 16px; padding: 18px 0; border-bottom: 1px solid var(--line); }
.menu-links a:last-child { border-bottom: 0; }
.service-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 250px), 1fr)); gap: 16px; margin-bottom: 24px; }
.service-grid h2 { margin-bottom: 12px; }
.service-state { font-size: 1.2rem; color: var(--text); margin-bottom: 8px; }
@media (max-width: 800px) {
  html { scroll-padding-bottom: 110px; }
  .app-layout > .sidebar { display: none; }
  .app-layout { padding-bottom: calc(92px + env(safe-area-inset-bottom)); }
  .topbar { padding-top: env(safe-area-inset-top); height: auto; min-height: 58px; }
  .account-pill { max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .mobile-nav { position: fixed; z-index: 20; bottom: 0; left: 0; right: 0; display: flex; align-items: end; gap: 2px; padding: 8px max(8px, env(safe-area-inset-right)) calc(8px + env(safe-area-inset-bottom)) max(8px, env(safe-area-inset-left)); border-top: 1px solid var(--line); background: var(--sidebar); box-shadow: 0 -8px 32px #0002; }
  .mobile-nav > a { display: flex; flex: 1; min-width: 0; min-height: 56px; flex-direction: column; align-items: center; justify-content: end; gap: 3px; border-radius: 12px; padding: 4px 0; color: var(--nav-text); font-size: .65rem; font-weight: 600; }
  .mobile-nav > a > span { font-size: 1.5rem; line-height: 1.1; }
  .mobile-nav a[aria-current] { color: var(--lime); background: var(--nav-active); }
  .mobile-nav .coach-orb { position: relative; display: grid; place-items: center; width: 44px; height: 44px; border-radius: 50%; background: radial-gradient(circle at 32% 25%, var(--lime), var(--nav-active)); color: var(--ink); box-shadow: 0 0 16px color-mix(in srgb, var(--lime) 25%, transparent); font-size: 1.9rem; font-weight: 850; }
  .coach-orb span { position: absolute; width: 6px; height: 6px; border-radius: 50%; background: currentColor; left: 29px; top: 30px; }
  input, select, textarea { font-size: 1rem; }
  .app-footer { padding-bottom: 12px; }
}
