/* Final mobile layout guardrails. Loaded last to normalize every feature page. */
@media(max-width:700px){
  html{overflow-x:hidden;-webkit-text-size-adjust:100%}
  body{width:100%;max-width:100%;padding-bottom:calc(62px + env(safe-area-inset-bottom));overflow-x:hidden}
  body.auth-mode{padding-bottom:0}
  #app{width:100%;max-width:100%;min-width:0;overflow-x:clip}

  .mobile-nav{height:calc(62px + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom)}
  .mobile-nav button{min-height:44px;padding:6px 3px;font-size:9px;line-height:1.15}
  .mobile-nav span{line-height:1}

  .topbar{width:100%;max-width:100%;padding-inline:12px;gap:7px}
  .brand{flex:0 0 auto}.league-switch{min-width:0;flex:0 1 auto}
  .league-switch button{min-width:0;padding:7px 8px}
  .theme-toggle{flex:0 0 34px}

  .profile,.team-profile{min-width:0}
  .profile>div,.team-profile>div{min-width:0}
  .profile h1,.team-profile h1{max-width:100%;overflow-wrap:anywhere}
  .profile p{overflow-wrap:anywhere}

  .profile-tabs,.team-tabs,.box-tabs,.column-tabs,.league-overview-grid,
  .live-dashboard-games,.game-list-items,.player-table-wrap,.team-table-wrap,
  .records-live-content .table-wrap,.live-batting-team,.dashboard-standings-panel{
    overscroll-behavior-inline:contain;-webkit-overflow-scrolling:touch;touch-action:pan-x pan-y
  }
  .profile-tabs,.team-tabs,.box-tabs,.column-tabs{scroll-padding-inline:12px}
  .profile-tabs button,.team-tabs button,.box-tabs button,.column-tabs button{min-height:44px}

  .team-games-list button{min-width:0;column-gap:7px;padding:13px 11px}
  .team-games-list button>b{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .team-games-list strong{white-space:nowrap;font-variant-numeric:tabular-nums}
  .team-games-list em{white-space:nowrap}

  .records-toolbar-right{min-width:0;flex-wrap:wrap}
  .records-season,.records-filter{min-width:0}
  .records-filter select{width:min(100%,210px);min-width:0}
  .team-roster-toolbar .records-toolbar-right{align-items:center}
  .team-roster-toolbar .qualified{min-height:36px}

  .modal{padding:16px 8px;align-items:flex-start}
  .modal-card{width:100%;max-height:calc(100dvh - 32px);display:flex;flex-direction:column}
  .search-box{flex:0 0 auto;padding:14px 13px;gap:8px}
  .search-box input{min-width:0;font-size:16px}
  .search-leagues{flex:0 0 auto;overflow-x:auto;padding-inline:12px}
  .search-leagues button{flex:0 0 auto;min-height:34px;white-space:nowrap}
  .search-results{min-height:0;max-height:none;flex:1;overflow-y:auto}

  .toast{bottom:calc(74px + env(safe-area-inset-bottom));width:max-content;max-width:calc(100% - 24px);text-align:center}
  .mobile-more-panel{max-height:calc(100dvh - 20px);overflow-y:auto}

  .auth-page{min-height:100dvh}.auth-shell{width:100%;max-width:100%}
  .auth-card{min-width:0}.auth-options{gap:10px}.auth-options>*{min-width:0}
}

@media(max-width:380px){
  .topbar{padding-inline:9px;gap:5px}
  .brand-mark{width:29px;height:29px}
  .league-switch button{padding:7px 6px;font-size:11px}
  .theme-toggle{width:31px;height:31px;flex-basis:31px}
  .team-games-list button{grid-template-columns:minmax(0,1fr) 66px 28px}
  .team-roster-toolbar .records-toolbar-right{display:grid;grid-template-columns:auto minmax(0,1fr)}
  .team-roster-toolbar .qualified{grid-column:1/-1}
  .dashboard-health-row{gap:6px}
}
