
/* =========================================================
   RunEvo v158 - Capacitor Mobile App CSS
   Carregado DEPOIS do styles.css para vencer o cache/ordem.
   ========================================================= */

html,
body {
  background: #000 !important;
}

html[data-runevo-build="app-only"],
html.runevo-capacitor-shell,
body.runevo-app-only {
  --app-mobile-header: 82px;
  --app-mobile-nav: 78px;
  --app-mobile-x: 16px;
  background: #000 !important;
  overflow-x: hidden !important;
  overscroll-behavior-y: none !important;
}

/* Header real do app */
body.runevo-app-only header,
body.runevo-app-only .app-header,
body.runevo-app-only .top-nav,
html[data-runevo-build="app-only"] header,
html[data-runevo-build="app-only"] .app-header,
html[data-runevo-build="app-only"] .top-nav {
  height: var(--app-mobile-header) !important;
  min-height: var(--app-mobile-header) !important;
  max-height: var(--app-mobile-header) !important;
  padding: 0 24px !important;
  margin: 0 !important;
  background: #000 !important;
  border-bottom: 1px solid rgba(255,255,255,.12) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
}

/* Logo e avatar */
body.runevo-app-only .app-header img,
body.runevo-app-only header img,
html[data-runevo-build="app-only"] .app-header img,
html[data-runevo-build="app-only"] header img {
  object-fit: contain !important;
}

body.runevo-app-only .app-header img[src*="logo"],
body.runevo-app-only header img[src*="logo"],
body.runevo-app-only img.logo,
body.runevo-app-only .logo img,
body.runevo-app-only .brand img,
html[data-runevo-build="app-only"] .app-header img[src*="logo"],
html[data-runevo-build="app-only"] header img[src*="logo"],
html[data-runevo-build="app-only"] img.logo,
html[data-runevo-build="app-only"] .logo img,
html[data-runevo-build="app-only"] .brand img {
  width: 132px !important;
  max-width: 42vw !important;
  height: auto !important;
  max-height: 54px !important;
  transform: translateY(2px) !important;
}

body.runevo-app-only .avatar,
body.runevo-app-only .profile-avatar,
body.runevo-app-only .user-avatar,
body.runevo-app-only .header-avatar,
body.runevo-app-only .header-user-avatar,
body.runevo-app-only .header-user-profile,
html[data-runevo-build="app-only"] .avatar,
html[data-runevo-build="app-only"] .profile-avatar,
html[data-runevo-build="app-only"] .user-avatar,
html[data-runevo-build="app-only"] .header-avatar,
html[data-runevo-build="app-only"] .header-user-avatar,
html[data-runevo-build="app-only"] .header-user-profile {
  width: 54px !important;
  height: 54px !important;
  min-width: 54px !important;
  min-height: 54px !important;
  border-radius: 999px !important;
}

/* Página: remove vãos pretos gigantes */
body.runevo-app-only .page,
body.runevo-app-only main,
body.runevo-app-only .screen,
body.runevo-app-only .view,
html[data-runevo-build="app-only"] .page,
html[data-runevo-build="app-only"] main,
html[data-runevo-build="app-only"] .screen,
html[data-runevo-build="app-only"] .view {
  padding-left: var(--app-mobile-x) !important;
  padding-right: var(--app-mobile-x) !important;
  padding-top: calc(var(--app-mobile-header) + 14px) !important;
  padding-bottom: calc(var(--app-mobile-nav) + env(safe-area-inset-bottom, 0px) + 16px) !important;
  min-height: 100dvh !important;
  max-width: 480px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* Se existir página ativa com display/centralização antiga */
body.runevo-app-only .page.active,
html[data-runevo-build="app-only"] .page.active {
  display: block !important;
  align-content: start !important;
  justify-content: start !important;
}

/* Cards gerais */
body.runevo-app-only .card,
body.runevo-app-only .glass-card,
body.runevo-app-only .settings-card,
body.runevo-app-only .ai-form-card,
body.runevo-app-only .manual-manager-card,
body.runevo-app-only .stat-card,
body.runevo-app-only .profile-list-card,
html[data-runevo-build="app-only"] .card,
html[data-runevo-build="app-only"] .glass-card,
html[data-runevo-build="app-only"] .settings-card,
html[data-runevo-build="app-only"] .ai-form-card,
html[data-runevo-build="app-only"] .manual-manager-card,
html[data-runevo-build="app-only"] .stat-card,
html[data-runevo-build="app-only"] .profile-list-card {
  border-radius: 18px !important;
}

/* Tipografia app: menos gigante, menos quebrada */
body.runevo-app-only h1,
html[data-runevo-build="app-only"] h1 {
  font-size: clamp(1.55rem, 6vw, 2rem) !important;
  line-height: 1.12 !important;
}

body.runevo-app-only h2,
html[data-runevo-build="app-only"] h2 {
  font-size: clamp(1.25rem, 5vw, 1.55rem) !important;
  line-height: 1.16 !important;
}

body.runevo-app-only h3,
html[data-runevo-build="app-only"] h3 {
  font-size: clamp(1rem, 4.2vw, 1.25rem) !important;
  line-height: 1.18 !important;
}

body.runevo-app-only label,
body.runevo-app-only .label,
body.runevo-app-only .ai-label,
body.runevo-app-only .form-label,
html[data-runevo-build="app-only"] label,
html[data-runevo-build="app-only"] .label,
html[data-runevo-build="app-only"] .ai-label,
html[data-runevo-build="app-only"] .form-label {
  font-size: .78rem !important;
  line-height: 1.16 !important;
  letter-spacing: .08em !important;
  word-break: normal !important;
  overflow-wrap: normal !important;
}

/* Inputs/selects */
body.runevo-app-only input,
body.runevo-app-only select,
body.runevo-app-only textarea,
html[data-runevo-build="app-only"] input,
html[data-runevo-build="app-only"] select,
html[data-runevo-build="app-only"] textarea {
  min-height: 48px !important;
  font-size: 16px !important;
  border-radius: 12px !important;
}

/* IA EVO */
body.runevo-app-only #page-ai,
html[data-runevo-build="app-only"] #page-ai {
  padding-top: calc(var(--app-mobile-header) + 14px) !important;
}

body.runevo-app-only #page-ai .ai-hero,
body.runevo-app-only #page-ai .ai-trust-card,
html[data-runevo-build="app-only"] #page-ai .ai-hero,
html[data-runevo-build="app-only"] #page-ai .ai-trust-card {
  display: none !important;
}

body.runevo-app-only .ai-form-card,
html[data-runevo-build="app-only"] .ai-form-card {
  padding: 16px !important;
  margin-bottom: 14px !important;
}

body.runevo-app-only .ai-form-row,
html[data-runevo-build="app-only"] .ai-form-row {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 10px !important;
}

body.runevo-app-only .ai-form-group,
html[data-runevo-build="app-only"] .ai-form-group {
  min-width: 0 !important;
}

body.runevo-app-only .ai-radio-group,
html[data-runevo-build="app-only"] .ai-radio-group {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 8px !important;
}

body.runevo-app-only .ai-radio-btn,
html[data-runevo-build="app-only"] .ai-radio-btn {
  min-height: 46px !important;
  padding: 8px 6px !important;
  font-size: .74rem !important;
  white-space: nowrap !important;
}

body.runevo-app-only .terrain-options,
html[data-runevo-build="app-only"] .terrain-options {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 10px !important;
}

body.runevo-app-only .terrain-card,
html[data-runevo-build="app-only"] .terrain-card {
  min-height: 82px !important;
  padding: 14px !important;
}

body.runevo-app-only .btn-generate,
body.runevo-app-only .primary-btn,
body.runevo-app-only button[type="submit"],
html[data-runevo-build="app-only"] .btn-generate,
html[data-runevo-build="app-only"] .primary-btn,
html[data-runevo-build="app-only"] button[type="submit"] {
  min-height: 54px !important;
  border-radius: 18px !important;
  font-size: 1rem !important;
}

/* Treinos */
body.runevo-app-only #page-training,
body.runevo-app-only #page-trainings,
html[data-runevo-build="app-only"] #page-training,
html[data-runevo-build="app-only"] #page-trainings {
  padding-top: calc(var(--app-mobile-header) + 14px) !important;
}

/* Stats */
body.runevo-app-only #page-stats,
html[data-runevo-build="app-only"] #page-stats {
  padding-top: calc(var(--app-mobile-header) + 14px) !important;
}

body.runevo-app-only .stats-grid,
html[data-runevo-build="app-only"] .stats-grid {
  gap: 10px !important;
}

body.runevo-app-only .stat-card,
html[data-runevo-build="app-only"] .stat-card {
  min-height: 112px !important;
  padding: 14px !important;
}

/* Perfil */
body.runevo-app-only .profile-list-item,
html[data-runevo-build="app-only"] .profile-list-item {
  min-height: 70px !important;
  padding: 14px 16px !important;
}

/* Bottom nav */
body.runevo-app-only .bottom-nav,
body.runevo-app-only .mobile-nav,
html[data-runevo-build="app-only"] .bottom-nav,
html[data-runevo-build="app-only"] .mobile-nav {
  height: calc(var(--app-mobile-nav) + env(safe-area-inset-bottom, 0px)) !important;
  min-height: calc(var(--app-mobile-nav) + env(safe-area-inset-bottom, 0px)) !important;
  padding: 6px 10px max(env(safe-area-inset-bottom, 0px), 8px) !important;
  background: rgba(0,0,0,.98) !important;
  border-top: 1px solid rgba(255,255,255,.12) !important;
  display: flex !important;
  align-items: center !important;
}

body.runevo-app-only .nav-item,
html[data-runevo-build="app-only"] .nav-item {
  min-width: 64px !important;
  max-width: 92px !important;
  padding: 6px 4px !important;
  font-size: .72rem !important;
  line-height: 1 !important;
  white-space: nowrap !important;
}

body.runevo-app-only .nav-item span,
html[data-runevo-build="app-only"] .nav-item span {
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

body.runevo-app-only .nav-item svg,
html[data-runevo-build="app-only"] .nav-item svg {
  width: 24px !important;
  height: 24px !important;
}



/* =========================================================
   RunEvo v159 - FIXED MOBILE SHELL REAL
   Corrige o problema real: a regra antiga V73 deixava .page
   fixed com top + padding duplicado. Agora o shell é:
   header fixo, página entre header/nav e padding interno pequeno.
   ========================================================= */

html[data-runevo-build="app-only"],
html.runevo-capacitor-shell,
html.runevo-v159,
body.runevo-app-only,
body.runevo-v159 {
  --runevo-header-h: 124px;
  --runevo-nav-h: 88px;
  --runevo-page-x: 16px;
  --runevo-page-top: 14px;
  --runevo-page-bottom: 18px;
  background: #000 !important;
}

/* Header: resolve colisão com a status bar do Android */
html[data-runevo-build="app-only"] .app-header,
body.runevo-app-only .app-header,
body.runevo-v159 .app-header {
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  z-index: 1000 !important;
  height: var(--runevo-header-h) !important;
  min-height: var(--runevo-header-h) !important;
  max-height: var(--runevo-header-h) !important;
  box-sizing: border-box !important;
  padding: 34px 24px 12px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  background: #000 !important;
  border-bottom: 1px solid rgba(255,255,255,.12) !important;
  overflow: visible !important;
}

/* Logo e avatar dentro do header */
html[data-runevo-build="app-only"] .header-left,
body.runevo-app-only .header-left,
body.runevo-v159 .header-left,
html[data-runevo-build="app-only"] .header-right,
body.runevo-app-only .header-right,
body.runevo-v159 .header-right {
  height: auto !important;
  min-height: 0 !important;
  display: flex !important;
  align-items: center !important;
}

html[data-runevo-build="app-only"] .header-brand-logo,
html[data-runevo-build="app-only"] #app-header-logo,
body.runevo-app-only .header-brand-logo,
body.runevo-app-only #app-header-logo,
body.runevo-v159 .header-brand-logo,
body.runevo-v159 #app-header-logo {
  width: 148px !important;
  max-width: 42vw !important;
  height: auto !important;
  max-height: 58px !important;
  object-fit: contain !important;
  object-position: left center !important;
  transform: translateY(2px) !important;
}

html[data-runevo-build="app-only"] .header-user-profile,
html[data-runevo-build="app-only"] .header-user-avatar,
body.runevo-app-only .header-user-profile,
body.runevo-app-only .header-user-avatar,
body.runevo-v159 .header-user-profile,
body.runevo-v159 .header-user-avatar {
  width: 58px !important;
  height: 58px !important;
  min-width: 58px !important;
  min-height: 58px !important;
  border-radius: 999px !important;
}

/* PÁGINA: aqui está a correção principal.
   Não usa mais padding-top = header + safe. O top já posiciona a página. */
html[data-runevo-build="app-only"] .page,
body.runevo-app-only .page,
body.runevo-v159 .page {
  position: fixed !important;
  top: var(--runevo-header-h) !important;
  left: 0 !important;
  right: 0 !important;
  bottom: var(--runevo-nav-h) !important;
  height: auto !important;
  min-height: 0 !important;
  display: none !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  -webkit-overflow-scrolling: touch !important;
  overscroll-behavior: contain !important;
  box-sizing: border-box !important;
  padding: var(--runevo-page-top) var(--runevo-page-x) var(--runevo-page-bottom) !important;
  background: #000 !important;
  animation: none !important;
  transform: none !important;
}

html[data-runevo-build="app-only"] .page.active,
body.runevo-app-only .page.active,
body.runevo-v159 .page.active {
  display: block !important;
}

/* Remove margens fantasmas de containers internos */
html[data-runevo-build="app-only"] .hero-section,
html[data-runevo-build="app-only"] .countdown-section,
html[data-runevo-build="app-only"] .weekly-section,
html[data-runevo-build="app-only"] .ai-container,
html[data-runevo-build="app-only"] .training-hub-container,
html[data-runevo-build="app-only"] .stats-container,
html[data-runevo-build="app-only"] .profile-hub,
body.runevo-app-only .hero-section,
body.runevo-app-only .countdown-section,
body.runevo-app-only .weekly-section,
body.runevo-app-only .ai-container,
body.runevo-app-only .training-hub-container,
body.runevo-app-only .stats-container,
body.runevo-app-only .profile-hub,
body.runevo-v159 .hero-section,
body.runevo-v159 .countdown-section,
body.runevo-v159 .weekly-section,
body.runevo-v159 .ai-container,
body.runevo-v159 .training-hub-container,
body.runevo-v159 .stats-container,
body.runevo-v159 .profile-hub {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

/* Home: ocupa melhor sem vácuo, mas não empurra cards para baixo */
html[data-runevo-build="app-only"] #page-home .hero-section,
body.runevo-app-only #page-home .hero-section,
body.runevo-v159 #page-home .hero-section {
  margin-bottom: 14px !important;
}

html[data-runevo-build="app-only"] .hero-badge,
body.runevo-app-only .hero-badge,
body.runevo-v159 .hero-badge {
  width: 100% !important;
  min-height: 36px !important;
  justify-content: center !important;
  margin: 0 0 12px !important;
  padding: 8px 14px !important;
  font-size: .74rem !important;
  letter-spacing: .22em !important;
}

html[data-runevo-build="app-only"] .hero-card,
body.runevo-app-only .hero-card,
body.runevo-v159 .hero-card {
  min-height: 146px !important;
  padding: 18px !important;
}

html[data-runevo-build="app-only"] .countdown-card,
body.runevo-app-only .countdown-card,
body.runevo-v159 .countdown-card {
  padding: 16px !important;
}

/* IA Evo: os campos de 3 colunas ficam controlados e sem quebra agressiva */
html[data-runevo-build="app-only"] #page-ai .ai-hero,
html[data-runevo-build="app-only"] #page-ai .ai-trust-card,
body.runevo-app-only #page-ai .ai-hero,
body.runevo-app-only #page-ai .ai-trust-card,
body.runevo-v159 #page-ai .ai-hero,
body.runevo-v159 #page-ai .ai-trust-card {
  display: none !important;
}

html[data-runevo-build="app-only"] .ai-form-card,
body.runevo-app-only .ai-form-card,
body.runevo-v159 .ai-form-card {
  padding: 16px !important;
  border-radius: 18px !important;
  margin-bottom: 14px !important;
}

html[data-runevo-build="app-only"] .ai-form-row,
body.runevo-app-only .ai-form-row,
body.runevo-v159 .ai-form-row {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 10px !important;
}

html[data-runevo-build="app-only"] .ai-label,
body.runevo-app-only .ai-label,
body.runevo-v159 .ai-label {
  font-size: .74rem !important;
  line-height: 1.14 !important;
  letter-spacing: .09em !important;
  white-space: normal !important;
  word-break: normal !important;
}

html[data-runevo-build="app-only"] .ai-input,
body.runevo-app-only .ai-input,
body.runevo-v159 .ai-input {
  min-height: 48px !important;
  padding: 12px !important;
  font-size: 16px !important;
  border-radius: 12px !important;
}

html[data-runevo-build="app-only"] .ai-radio-group,
body.runevo-app-only .ai-radio-group,
body.runevo-v159 .ai-radio-group {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 8px !important;
}

html[data-runevo-build="app-only"] .ai-radio-btn,
body.runevo-app-only .ai-radio-btn,
body.runevo-v159 .ai-radio-btn {
  min-height: 46px !important;
  padding: 8px 6px !important;
  font-size: .72rem !important;
  line-height: 1.08 !important;
  white-space: nowrap !important;
}

html[data-runevo-build="app-only"] .terrain-options,
body.runevo-app-only .terrain-options,
body.runevo-v159 .terrain-options {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 10px !important;
}

html[data-runevo-build="app-only"] .terrain-card,
body.runevo-app-only .terrain-card,
body.runevo-v159 .terrain-card {
  min-height: 82px !important;
  padding: 14px !important;
  border-radius: 16px !important;
}

/* Stats/Profile: começa no topo da página fixa, sem vácuo */
html[data-runevo-build="app-only"] #page-stats .section-title,
body.runevo-app-only #page-stats .section-title,
body.runevo-v159 #page-stats .section-title {
  margin-top: 0 !important;
}

/* Bottom nav: fixa abaixo, sem sobrepor conteúdo útil */
html[data-runevo-build="app-only"] .bottom-nav,
body.runevo-app-only .bottom-nav,
body.runevo-v159 .bottom-nav {
  position: fixed !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  z-index: 1000 !important;
  height: var(--runevo-nav-h) !important;
  min-height: var(--runevo-nav-h) !important;
  box-sizing: border-box !important;
  padding: 8px 10px 12px !important;
  background: rgba(0,0,0,.98) !important;
  border-top: 1px solid rgba(255,255,255,.12) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-around !important;
}

html[data-runevo-build="app-only"] .nav-item,
body.runevo-app-only .nav-item,
body.runevo-v159 .nav-item {
  width: 25% !important;
  min-width: 0 !important;
  max-width: none !important;
  padding: 5px 2px !important;
  gap: 2px !important;
  font-size: .72rem !important;
  white-space: nowrap !important;
}

html[data-runevo-build="app-only"] .nav-item span,
body.runevo-app-only .nav-item span,
body.runevo-v159 .nav-item span {
  display: block !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

/* Pixel 7 / 393px */
@media (max-width: 430px) {
  html[data-runevo-build="app-only"],
  body.runevo-app-only,
  body.runevo-v159 {
    --runevo-header-h: 124px;
    --runevo-nav-h: 88px;
    --runevo-page-x: 15px;
  }

  html[data-runevo-build="app-only"] .header-brand-logo,
  html[data-runevo-build="app-only"] #app-header-logo,
  body.runevo-app-only .header-brand-logo,
  body.runevo-app-only #app-header-logo,
  body.runevo-v159 .header-brand-logo,
  body.runevo-v159 #app-header-logo {
    width: 132px !important;
  }

  html[data-runevo-build="app-only"] .header-user-profile,
  html[data-runevo-build="app-only"] .header-user-avatar,
  body.runevo-app-only .header-user-profile,
  body.runevo-app-only .header-user-avatar,
  body.runevo-v159 .header-user-profile,
  body.runevo-v159 .header-user-avatar {
    width: 54px !important;
    height: 54px !important;
    min-width: 54px !important;
    min-height: 54px !important;
  }
}



/* =========================================================
   RunEvo v160 - IA EVO + STATS + TOUR FIX
   Ajusta:
   - título IA Evo volta a aparecer de forma compacta;
   - remove vãos pretos nas telas IA/Stats;
   - tempos anteriores em lista 1 abaixo do outro;
   - labels do teste 3km sem quebra horrorosa;
   - tour/modal centralizado na tela.
   ========================================================= */

html[data-runevo-build="app-only"],
body.runevo-app-only,
body.runevo-v160 {
  --runevo-header-h: 108px;
  --runevo-nav-h: 86px;
  --runevo-page-top: 12px;
}

/* Header um pouco menos alto para reduzir o vácuo sem encostar na status bar */
html[data-runevo-build="app-only"] .app-header,
body.runevo-app-only .app-header,
body.runevo-v160 .app-header {
  height: var(--runevo-header-h) !important;
  min-height: var(--runevo-header-h) !important;
  max-height: var(--runevo-header-h) !important;
  padding: 26px 24px 10px !important;
}

/* Página começa logo abaixo do header */
html[data-runevo-build="app-only"] .page,
body.runevo-app-only .page,
body.runevo-v160 .page {
  top: var(--runevo-header-h) !important;
  bottom: var(--runevo-nav-h) !important;
  padding-top: var(--runevo-page-top) !important;
}

/* IA Evo: restaurar o título, mas sem o hero gigante */
html[data-runevo-build="app-only"] #page-ai .ai-hero,
body.runevo-app-only #page-ai .ai-hero,
body.runevo-v160 #page-ai .ai-hero {
  display: block !important;
  text-align: left !important;
  padding: 0 0 12px !important;
  margin: 0 !important;
}

html[data-runevo-build="app-only"] #page-ai .ai-hero-icon,
body.runevo-app-only #page-ai .ai-hero-icon,
body.runevo-v160 #page-ai .ai-hero-icon {
  display: none !important;
}

html[data-runevo-build="app-only"] #page-ai .ai-hero-title,
body.runevo-app-only #page-ai .ai-hero-title,
body.runevo-v160 #page-ai .ai-hero-title {
  display: block !important;
  font-size: 1.42rem !important;
  line-height: 1.1 !important;
  letter-spacing: .06em !important;
  margin: 0 !important;
  color: #CCFF00 !important;
  background: none !important;
  -webkit-text-fill-color: #CCFF00 !important;
  -webkit-background-clip: initial !important;
  text-transform: uppercase !important;
}

html[data-runevo-build="app-only"] #page-ai .ai-hero-sub,
body.runevo-app-only #page-ai .ai-hero-sub,
body.runevo-v160 #page-ai .ai-hero-sub {
  display: block !important;
  font-size: .82rem !important;
  margin-top: 4px !important;
  color: rgba(255,255,255,.62) !important;
  text-transform: uppercase !important;
  letter-spacing: .08em !important;
}

/* Mantém trust card oculto para não pesar */
html[data-runevo-build="app-only"] #page-ai .ai-trust-card,
body.runevo-app-only #page-ai .ai-trust-card,
body.runevo-v160 #page-ai .ai-trust-card {
  display: none !important;
}

/* Conteúdos de IA/Stats sem margem fantasma */
html[data-runevo-build="app-only"] #page-ai,
body.runevo-app-only #page-ai,
body.runevo-v160 #page-ai,
html[data-runevo-build="app-only"] #page-stats,
body.runevo-app-only #page-stats,
body.runevo-v160 #page-stats {
  padding-top: 12px !important;
}

html[data-runevo-build="app-only"] .ai-container,
body.runevo-app-only .ai-container,
body.runevo-v160 .ai-container,
html[data-runevo-build="app-only"] .stats-container,
body.runevo-app-only .stats-container,
body.runevo-v160 .stats-container {
  padding-top: 0 !important;
  margin-top: 0 !important;
}

/* Tempos anteriores: 1 abaixo do outro para ficar legível */
html[data-runevo-build="app-only"] .ai-time-history-group,
body.runevo-app-only .ai-time-history-group,
body.runevo-v160 .ai-time-history-group {
  width: 100% !important;
}

html[data-runevo-build="app-only"] .ai-form-card:has(#ai-time5k) .ai-form-row,
body.runevo-app-only .ai-form-card:has(#ai-time5k) .ai-form-row,
body.runevo-v160 .ai-form-card:has(#ai-time5k) .ai-form-row {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 12px !important;
}

html[data-runevo-build="app-only"] .ai-time-history-group .ai-checkline,
body.runevo-app-only .ai-time-history-group .ai-checkline,
body.runevo-v160 .ai-time-history-group .ai-checkline {
  min-height: 46px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 10px !important;
  padding: 10px 12px !important;
  font-size: .86rem !important;
  line-height: 1.1 !important;
  white-space: nowrap !important;
  word-break: normal !important;
  text-align: left !important;
}

html[data-runevo-build="app-only"] .ai-time-history-group .ai-checkline input,
body.runevo-app-only .ai-time-history-group .ai-checkline input,
body.runevo-v160 .ai-time-history-group .ai-checkline input {
  width: 20px !important;
  height: 20px !important;
  min-height: 20px !important;
  flex: 0 0 20px !important;
}

/* Teste de 3km: label não deve quebrar em 3 linhas */
html[data-runevo-build="app-only"] #ai-test3k-time,
body.runevo-app-only #ai-test3k-time,
body.runevo-v160 #ai-test3k-time {
  max-width: 180px !important;
}

html[data-runevo-build="app-only"] label[for="ai-test3k-time"],
body.runevo-app-only label[for="ai-test3k-time"],
body.runevo-v160 label[for="ai-test3k-time"] {
  max-width: 240px !important;
  font-size: .76rem !important;
  line-height: 1.15 !important;
}

/* Caso o label não tenha for, usa o grupo que contém o input */
html[data-runevo-build="app-only"] .ai-form-group:has(#ai-test3k-time) .ai-label,
body.runevo-app-only .ai-form-group:has(#ai-test3k-time) .ai-label,
body.runevo-v160 .ai-form-group:has(#ai-test3k-time) .ai-label {
  max-width: 250px !important;
  font-size: .76rem !important;
  line-height: 1.15 !important;
  letter-spacing: .06em !important;
}

/* Estatísticas: reduz vácuo e deixa títulos com respiro certo */
html[data-runevo-build="app-only"] #page-stats .section-title,
body.runevo-app-only #page-stats .section-title,
body.runevo-v160 #page-stats .section-title {
  margin-top: 0 !important;
  margin-bottom: 12px !important;
}

html[data-runevo-build="app-only"] #page-stats .section-title[style],
body.runevo-app-only #page-stats .section-title[style],
body.runevo-v160 #page-stats .section-title[style] {
  margin-top: 18px !important;
}

html[data-runevo-build="app-only"] .stats-grid,
body.runevo-app-only .stats-grid,
body.runevo-v160 .stats-grid {
  margin-bottom: 16px !important;
}

/* Tour/modal: centralizado no celular, não escondido embaixo */
html[data-runevo-build="app-only"] #modal-overlay,
body.runevo-app-only #modal-overlay,
body.runevo-v160 #modal-overlay {
  position: fixed !important;
  inset: 0 !important;
  z-index: 99999 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 24px 18px calc(var(--runevo-nav-h) + 24px) !important;
  background: rgba(0,0,0,.72) !important;
}

html[data-runevo-build="app-only"] #modal-overlay.hidden,
body.runevo-app-only #modal-overlay.hidden,
body.runevo-v160 #modal-overlay.hidden {
  display: none !important;
}

html[data-runevo-build="app-only"] #modal-overlay .modal-card,
body.runevo-app-only #modal-overlay .modal-card,
body.runevo-v160 #modal-overlay .modal-card,
html[data-runevo-build="app-only"] #modal-overlay .modal-content,
body.runevo-app-only #modal-overlay .modal-content,
body.runevo-v160 #modal-overlay .modal-content {
  width: min(92vw, 390px) !important;
  max-height: min(76dvh, 620px) !important;
  overflow-y: auto !important;
  margin: 0 auto !important;
  transform: none !important;
  position: relative !important;
}

html[data-runevo-build="app-only"] #modal-message .tour-card,
html[data-runevo-build="app-only"] #modal-message .tour-card-v88,
body.runevo-app-only #modal-message .tour-card,
body.runevo-app-only #modal-message .tour-card-v88,
body.runevo-v160 #modal-message .tour-card,
body.runevo-v160 #modal-message .tour-card-v88 {
  text-align: center !important;
  align-items: center !important;
}

/* Se o toast/bloqueio aparecer por cima da nav, sobe um pouco */
html[data-runevo-build="app-only"] .toast,
body.runevo-app-only .toast,
body.runevo-v160 .toast {
  bottom: calc(var(--runevo-nav-h) + 14px) !important;
}

/* Pixel 7 */
@media (max-width: 430px) {
  html[data-runevo-build="app-only"],
  body.runevo-app-only,
  body.runevo-v160 {
    --runevo-header-h: 108px;
    --runevo-nav-h: 86px;
    --runevo-page-top: 12px;
  }
}
