/* FORJA V18.0.4 — auditoria responsiva global em produção
 * Carregado depois do V18.0.3 para corrigir regressões sem desmontar módulos.
 */

/* Texto pode quebrar; controles nunca devem virar uma coluna de letras. */
:where(button,.btn,.btn-primary,.btn-secondary,.btn-icon,[role="button"]){
  overflow-wrap:normal!important;
  word-break:normal!important;
  text-wrap:balance;
}
:where(.content,.topbar,.modal-content,.diet13-sheet-panel)
  :where(h1,h2,h3,h4,h5,h6,p,strong,small,label,legend,td,th,code){
  min-width:0;
  max-width:100%;
  overflow-wrap:break-word;
  word-break:normal;
}
:where(.content,.topbar,.modal-content,.diet13-sheet-panel) a:not(.btn):not([class*="button"]){
  overflow-wrap:break-word;
  word-break:normal;
}

/* Contenção estrutural comum a todas as abas auditadas. */
.content,.content>*,.topbar,.topbar-main,.topbar-main>div,
.panel,.card,.metric-card,.health-card,.form-card,.page-grid,
.v8-page-head,.v8-challenge-card,.v8-exercise-card,.v9-insight-card,
.v10-motion-card,.v11-home-loop,.evo-kpi-card,.ranking-shell,
.shopping13,.shopping13-card,.shopping13-item,.diet13-app,.diet16-journal,
.diet16-summary,.diet16-meal,.exercise-card,.workout-block{
  min-width:0;
  max-width:100%;
  box-sizing:border-box;
}
.content{width:100%;}
.content img,.content video,.content svg,.content canvas,.content iframe{max-width:100%;height:auto;}
.content :where(input,select,textarea){min-width:0;max-width:100%;box-sizing:border-box;}
.content :where(table){max-width:none;}
.table-wrap,.table-scroll,.responsive-table{width:100%;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;}

/* Compatibilidade com o Diário publicado (família fj62).
 * O botão deixa de disputar a largura com o nome e vira um alvo circular.
 */
.fj62-diary-item{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 44px!important;
  align-items:center!important;
  gap:10px!important;
  width:100%!important;
  min-width:0!important;
}
.fj62-diary-item-text{display:grid!important;gap:3px!important;min-width:0!important;max-width:100%!important;}
.fj62-diary-item-text strong,.fj62-diary-item-text small{display:block;min-width:0;max-width:100%;white-space:normal!important;overflow-wrap:break-word!important;word-break:normal!important;}
.fj62-diary-item-text strong{line-height:1.28!important;}
.fj62-diary-item-text small{line-height:1.45!important;}
.fj62-diary-item-form{width:44px!important;min-width:44px!important;margin:0!important;justify-self:end;}
.fj62-diary-check{
  width:44px!important;
  min-width:44px!important;
  height:44px!important;
  min-height:44px!important;
  padding:0!important;
  border-radius:50%!important;
  font-size:0!important;
  line-height:1!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  display:inline-grid!important;
  place-items:center!important;
}
.fj62-diary-check i{font-size:18px!important;line-height:1!important;margin:0!important;}
.fj62-diary-item.is-confirmed .fj62-diary-check,
.fj62-diary-item.is-done .fj62-diary-check{
  background:linear-gradient(135deg,#4fd18b,#76e6ad)!important;
  color:#06130d!important;
}

/* A implementação nova usa X/restaurar; conserva o mesmo ritmo compacto. */
.diet15-item{min-width:0!important;display:grid!important;grid-template-columns:minmax(0,1fr) 40px!important;align-items:center!important;gap:10px!important;}
.diet15-item-copy,.diet15-item-copy>span{min-width:0!important;max-width:100%!important;}
.diet15-item-copy strong,.diet15-item-copy small{white-space:normal!important;overflow-wrap:break-word!important;word-break:normal!important;}
.diet15-item-actions,.diet15-item-form{width:40px!important;min-width:40px!important;margin:0!important;}
.diet15-item-toggle{width:40px!important;min-width:40px!important;height:40px!important;min-height:40px!important;padding:0!important;border-radius:50%!important;}

/* Busca/adicionar alimento: sem coluna torta, sem faixa horizontal. */
.diet13-sheet,.diet13-sheet-panel{max-width:100vw!important;overflow-x:hidden!important;}
.diet13-sheet-panel>*{min-width:0;max-width:100%;}
.diet13-sheet-head{grid-template-columns:auto minmax(0,1fr)!important;align-items:start!important;}
.diet13-sheet-head>div{min-width:0!important;}
.diet13-sheet-head h2{white-space:normal!important;text-wrap:balance;}
.diet13-quick-actions,.diet16-category-grid,.diet13-sheet-grid,.diet13-search-pane,.diet13-food-results{width:100%!important;max-width:100%!important;min-width:0!important;}
.diet13-food-row{grid-template-columns:minmax(0,1fr) 40px!important;align-items:center!important;}
.diet13-food-row>span{min-width:0!important;}
.diet13-food-row strong,.diet13-food-row small{white-space:normal!important;overflow-wrap:break-word!important;word-break:normal!important;}
.diet13-food-row>i,.diet13-food-row>button{grid-column:2!important;justify-self:center!important;}
.diet13-search-wrap{min-width:0!important;max-width:100%!important;}
.diet13-search-wrap input{width:100%!important;min-width:0!important;}

/* Treino: mídia útil, nome legível e ações sem tomar o card inteiro. */
.exercise-head.v118-workout-ex-head{grid-template-columns:88px minmax(0,1fr) auto!important;}
.v118-workout-thumb{width:88px!important;height:88px!important;min-width:88px!important;}
.exercise-name-with-help,.exercise-name-with-help>span{min-width:0!important;max-width:100%!important;white-space:normal!important;overflow-wrap:break-word!important;word-break:normal!important;}
.exercise-tags{min-width:0!important;}
.exercise-actions{display:flex!important;align-items:center!important;gap:10px!important;flex-wrap:wrap!important;}
.exercise-actions .exercise-btn-start,.exercise-actions .exercise-btn-conclude{width:auto!important;max-width:100%!important;white-space:normal!important;line-height:1.2!important;}
.exercise-detail-return-card{max-width:100%!important;}

/* Cards e listas longas das demais abas. */
.v9-insight-card,.evo-kpi-card,.v8-challenge-card,.v8-exercise-card,
.shopping13-item,.ranking-row,.competition-card,.notification-card{
  overflow:hidden;
}
.v9-insight-card :where(strong,span,small),.evo-kpi-card :where(strong,span,small),
.v8-challenge-card :where(strong,span,small),.v8-exercise-card :where(strong,span,small),
.shopping13-item :where(strong,span,small){min-width:0;max-width:100%;overflow-wrap:break-word;word-break:normal;}
.shopping13-status{min-width:0!important;}
.shopping13-status button{white-space:nowrap!important;min-width:max-content!important;}

@media(max-width:760px){
  html,body{max-width:100%;overflow-x:hidden;}
  body{font-size:15px;}
  .content{padding:12px 12px calc(126px + env(safe-area-inset-bottom,0px))!important;overflow-x:hidden!important;}
  .topbar{width:100%!important;margin-bottom:12px!important;min-height:80px!important;padding:10px!important;border-radius:18px!important;grid-template-columns:minmax(0,1fr) auto!important;}
  .topbar-main{gap:8px!important;overflow:hidden!important;}
  .topbar-main>div{min-width:0!important;overflow:hidden!important;}
  .topbar .eyebrow{font-size:9px!important;margin-bottom:3px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;}
  .topbar h1{font-size:clamp(18px,5.2vw,23px)!important;line-height:1.05!important;letter-spacing:0!important;white-space:normal!important;display:-webkit-box!important;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden!important;}
  .topbar-actions{gap:5px!important;}
  .topbar-actions .btn-icon,.topbar-actions .v10-avatar-link,.sidebar-toggle{width:38px!important;min-width:38px!important;height:38px!important;min-height:38px!important;}
  .topbar-actions .v10-avatar-link img{width:38px!important;height:38px!important;}

  .panel,.form-card,.health-card{padding:14px!important;border-radius:18px!important;}
  .page-header,.section-heading{gap:10px!important;margin-bottom:14px!important;}
  .page-header h1,.section-heading h1{font-size:clamp(1.65rem,8vw,2.25rem)!important;line-height:1!important;}
  .section-heading h2{font-size:clamp(1.35rem,6.5vw,1.8rem)!important;line-height:1.08!important;}
  .section-heading p,.page-header p{font-size:.88rem!important;line-height:1.45!important;}
  .cards-grid,.panel-grid,.charts-grid,.preview-grid,.stats-row,.page-grid,
  .form-grid,.form-grid.two,.form-grid.three,.form-grid.compact,
  .photo-reconcile-grid,.photo-row-meta,.mapping-layout{grid-template-columns:minmax(0,1fr)!important;}
  .inline-actions,.form-actions,.v8-card-actions,.shopping13-actions{display:flex!important;flex-wrap:wrap!important;gap:8px!important;}
  :where(input:not([type="checkbox"]):not([type="radio"]),select,textarea){font-size:16px!important;}

  .diet16-heading{padding-inline:0!important;}
  .diet16-meals,.diet16-extras,.diet16-plan{padding:12px!important;}
  .diet16-meal{grid-template-columns:40px minmax(0,1fr) 40px!important;gap:8px!important;padding:10px!important;}
  .diet16-meal-icon{width:40px!important;height:40px!important;}
  .diet16-meal .diet13-meal-body{overflow:hidden!important;}
  .diet16-meal .diet13-meal-text strong{font-size:.98rem!important;line-height:1.25!important;}
  .diet16-meal .diet13-meal-text small{font-size:.72rem!important;line-height:1.35!important;white-space:normal!important;display:-webkit-box!important;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden!important;}
  .diet16-meal .diet13-meal-macro{grid-column:2/3!important;text-align:left!important;}
  .diet16-meal .diet13-meal-macro small{white-space:normal!important;}

  .fj62-diary-item{padding:10px 0!important;}
  .fj62-diary-item-text strong{font-size:clamp(.98rem,4.4vw,1.08rem)!important;}
  .fj62-diary-item-text small{font-size:clamp(.75rem,3.4vw,.86rem)!important;}

  .diet13-sheet-panel{inset:auto 0 0!important;width:100%!important;max-width:100vw!important;max-height:92dvh!important;padding:14px 12px calc(18px + env(safe-area-inset-bottom,0px))!important;border-radius:24px 24px 0 0!important;}
  .diet13-sheet-head h2{font-size:clamp(1.55rem,7.5vw,2rem)!important;}
  .diet13-sheet-head p{font-size:.86rem!important;line-height:1.4!important;}
  .diet13-quick-actions{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important;}
  .diet13-quick-actions button{min-width:0!important;min-height:52px!important;padding:8px!important;font-size:.82rem!important;line-height:1.15!important;}
  .diet16-category-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:7px!important;padding:0 0 12px!important;}
  .diet16-category-grid button{min-height:48px!important;width:100%!important;padding:7px 9px!important;display:flex!important;justify-content:flex-start!important;gap:7px!important;font-size:.76rem!important;text-align:left!important;}
  .diet13-food-results{max-height:38dvh!important;overflow-y:auto!important;overflow-x:hidden!important;}
  .diet13-food-row{min-height:64px!important;padding:10px 11px!important;}
  .diet13-food-row strong{font-size:.93rem!important;line-height:1.25!important;}
  .diet13-food-row small{font-size:.74rem!important;line-height:1.4!important;}

  .exercise-head.v118-workout-ex-head{grid-template-columns:82px minmax(0,1fr)!important;gap:11px!important;}
  .v118-workout-thumb{width:82px!important;height:82px!important;min-width:82px!important;}
  .exercise-preview-hint{display:none!important;}
  .exercise-tags{grid-column:1/-1!important;width:100%!important;max-width:none!important;justify-content:flex-start!important;}
  .exercise-name-with-help{font-size:clamp(1.1rem,5.5vw,1.35rem)!important;line-height:1.15!important;min-height:82px!important;}
  .exercise-dica{font-size:.88rem!important;line-height:1.5!important;}
  .exercise-actions .exercise-btn-start,.exercise-actions .exercise-btn-conclude{min-height:46px!important;padding:0 16px!important;font-size:.9rem!important;}

  .shopping13-hero,.shopping13-card{padding:14px!important;border-radius:18px!important;}
  .shopping13-item{grid-template-columns:40px minmax(0,1fr)!important;gap:9px!important;padding:10px!important;}
  .shopping13-status{grid-column:1/-1!important;display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:6px!important;}
  .shopping13-status button{width:100%!important;min-width:0!important;min-height:40px!important;padding:6px!important;font-size:.75rem!important;}

  .v9-insight-grid,.evo-kpi-grid,.v8-challenge-grid,.v8-exercise-grid{grid-template-columns:minmax(0,1fr)!important;}
  .evo-kpi-card{width:100%!important;}
  /* transform:none é obrigatório aqui: a regra base (app.css) centraliza a
     nav com left:50%+translateX(-50%). Sem zerar o transform, o left:8px
     abaixo soma com o translateX(-50%) antigo e empurra a nav pra fora da
     tela à esquerda — bug real encontrado na auditoria mobile (a nav
     aparecia cortada, sobrepondo o card seguinte, em telas ≤760px). */
  .bottom-nav.bottom-nav-floating{width:calc(100% - 16px)!important;left:8px!important;right:8px!important;transform:none!important;height:68px!important;border-radius:20px!important;padding-inline:5px!important;}
  .bottom-nav.bottom-nav-floating>a{font-size:10px!important;padding-inline:2px!important;white-space:nowrap!important;overflow:hidden!important;}
  .bottom-nav.bottom-nav-floating>a>i{font-size:19px!important;}
  /* O botão central (bola do fogo FORJA) precisa "flutuar" acima da barra —
     ele é posicionado com translateY negativo e sua bola é maior que a
     altura da barra de propósito. A regra genérica ">a{overflow:hidden}"
     acima (pensada só pra truncar o texto dos itens normais) tem
     especificidade maior que a regra ".bottom-nav-forja{overflow:visible}"
     de v10.css/app.css (por incluir o seletor de tipo ">a"), então ela
     ganhava a cascata e cortava a metade de baixo da bola — bug real
     encontrado testando com navegador de verdade, rolando até o fim da
     tela de Dieta (a bola aparecia "cortada" ao meio). Esta regra, mais
     específica ainda (">a.bottom-nav-forja"), devolve overflow:visible só
     pro link do FORJA, sem tirar o overflow:hidden dos outros itens. */
  .bottom-nav.bottom-nav-floating>a.bottom-nav-forja{overflow:visible!important;}
  .bottom-nav-forja-orb{width:54px!important;height:54px!important;}
}

@media(max-width:390px){
  .content{padding-inline:10px!important;}
  .topbar{padding:9px!important;}
  .diet16-energy{grid-template-columns:96px minmax(0,1fr)!important;gap:10px!important;}
  .diet16-energy .diet13-ring{width:92px!important;height:92px!important;min-width:92px!important;}
  .diet16-macros{grid-template-columns:minmax(0,1fr)!important;}
  .exercise-head.v118-workout-ex-head{grid-template-columns:76px minmax(0,1fr)!important;}
  .v118-workout-thumb{width:76px!important;height:76px!important;min-width:76px!important;}
  .exercise-name-with-help{min-height:76px!important;font-size:1.08rem!important;}
}

@media(prefers-reduced-motion:reduce){
  .fj62-diary-check,.diet15-item-toggle,.diet13-sheet-panel,.exercise-card{animation:none!important;transition:none!important;}
}
