/* MW Dynasty V2.5 — responsive hardening across unified Athlete / Coach / Performance tools */
html{box-sizing:border-box;-webkit-text-size-adjust:100%;text-size-adjust:100%;overflow-x:hidden}
*,*:before,*:after{box-sizing:inherit}
body{max-width:100%;overflow-x:hidden}
img,svg,video,canvas{max-width:100%}
img{height:auto}
input,select,textarea,button{max-width:100%}

/* Unified coach shell: remove the fixed 240px sidebar from phone/tablet layouts. */
@media(max-width:820px){
  .app{width:100%!important;max-width:none!important;padding:max(8px,env(safe-area-inset-top)) max(8px,env(safe-area-inset-right)) max(12px,env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-left))!important}
  .frame{width:100%!important;max-width:100%!important;border-radius:16px!important}
  .workspace{grid-template-columns:minmax(0,1fr)!important;width:100%!important}
  .sidebar{width:100%!important;border-right:0!important;border-bottom:1px solid var(--line)!important}
  .main{width:100%!important;min-width:0!important}
  .topbar,.section-head,.page-top{min-width:0}
  .search{min-width:0}
  .search input{min-width:0;width:100%}
  .mw-coach-dashboard-visual{width:100%!important;max-width:100%!important}
  .mw-coach-dashboard-visual img{width:100%!important;height:auto!important;object-fit:contain!important}
  .section,.panel,.tile,.mini-card,.hero,.overview{max-width:100%;min-width:0}
  .meet-row,.insight,.module,.ai-card{min-width:0}
}

@media(max-width:560px){
  .frame{border-left:0!important;border-right:0!important;border-radius:0!important}
  .main{padding-left:12px!important;padding-right:12px!important}
  .sidebar{padding-left:12px!important;padding-right:12px!important}
  .stats{gap:8px!important}
  .stat{min-width:0!important;padding-left:6px!important;padding-right:6px!important}
  .stat b{font-size:clamp(24px,9vw,30px)!important}
  .stat span{font-size:12px!important;overflow-wrap:anywhere}
  .section-head{flex-wrap:wrap}
  .section-head .link-btn{margin-left:auto}
  .footer{overflow-wrap:anywhere}
  .mw-coach-dashboard-visual,.homeBrand{border-radius:18px!important}
}

/* Athlete experience */
@media(max-width:599px){
  .homeGrid{display:grid!important;grid-template-columns:minmax(0,1fr)!important}
  .homeBrand{width:100%!important;max-width:100%!important}
  .homeBrand img{display:block!important;width:100%!important;height:auto!important;max-height:none!important;object-fit:contain!important}
  .card,.heroCard,.settingGroup{max-width:100%!important;min-width:0!important}
  .profilegrid,.maxGrid,.accountLinkGrid{min-width:0}
  .nav{max-width:100vw!important}
}

/* Pace + distance tools */
@media(max-width:620px){
  main{max-width:100%!important}
  .row,.row3,.row4,.grid2{grid-template-columns:minmax(0,1fr)!important}
  .panel,.card,.brand-stage{max-width:100%!important;min-width:0!important}
  .sectionHead{gap:10px!important;align-items:flex-start!important;flex-wrap:wrap!important}
  .modes{grid-template-columns:minmax(0,1fr)!important}
}

/* Tablets: let content breathe without desktop-only fixed widths. */
@media(min-width:600px) and (max-width:1023px){
  .page-wrap,.frame{width:100%!important;max-width:920px!important}
  .mw-coach-dashboard-visual,.homeBrand{max-width:100%!important}
}

/* Large screens: centered content, never uncontrolled stretching. */
@media(min-width:1440px){
  .frame,.page-wrap{max-width:1280px!important}
  .mw-coach-dashboard-visual{max-width:1180px;margin-left:auto;margin-right:auto}
}
