/* New Softball Game Plan identity and cross-app responsive safeguards. */
:root{--sgp-brand-navy:#071a33;--sgp-brand-coral:#ff5944}
html,body{max-width:100%;overflow-x:hidden;-webkit-text-size-adjust:100%;text-size-adjust:100%}
img,svg,video,iframe{max-width:100%}

/* Compiled account, membership, login, and signup screens use this shared logo link. */
a[aria-label="Softball Game Plan home"]{display:block!important;width:190px;height:58px;min-width:190px;min-height:0;padding-left:0!important;position:relative;background:url('/softball-game-plan-logo-color.png') left center/contain no-repeat;text-decoration:none!important;flex:0 1 190px}
a[aria-label="Softball Game Plan home"]>span{display:none!important}
a[aria-label="Softball Game Plan home"]::after{content:none}

/* Custom player workspace branding. */
.ri-brand{min-width:0;gap:9px!important;flex:0 1 auto}
.ri-brand img{content:url('/softball-game-plan-logo-color.png');width:180px!important;height:auto!important;max-height:58px;object-fit:contain;flex:0 1 180px}
.ri-brand::after{content:none}
.ri-brand .ri-product-label{order:2;margin-left:5px}
.ri-loading>img{content:url('/softball-game-plan-logo-color.png');width:220px!important;max-height:94px;object-fit:contain}

/* Complete Game Plan shell uses the new mark plus a compact product label. */
.fc-mark{order:0;width:180px!important;height:54px!important;flex:0 1 180px!important;border-radius:0!important;background:transparent url('/softball-game-plan-logo-color.png') left center/contain no-repeat!important;color:transparent!important;font-size:0!important}
.fc-brand::before{content:none}
.fc-brand>span:last-child{order:2;padding-left:10px;border-left:1px solid #d8e0e8;font-size:.78rem;line-height:1.15;letter-spacing:0}

/* Coach, administrator, and public-player app headers sit on light surfaces. */
.coach-brand{gap:9px!important;flex:0 1 auto}
.coach-brand img{content:url('/softball-game-plan-logo-color.png');width:190px!important;height:auto!important;max-height:58px;object-fit:contain;flex:0 1 190px}
.coach-brand::after{content:none}
.coach-loading img,.coach-pending-card>img{content:url('/softball-game-plan-logo-color.png');width:220px!important;max-height:94px;object-fit:contain}

/* Keep controls and card content inside every viewport. */
.ri-card,.fc-card,.coach-card,.coach-auth-card,.coach-signup-card,.coach-stat,.coach-item,.ri-stat,.fc-stat{min-width:0;max-width:100%;overflow-wrap:anywhere}
.ri-actions,.fc-actions,.coach-top-actions,.coach-actions{min-width:0}
.ri-actions>* , .fc-actions>* , .coach-actions>*{max-width:100%}
input,select,textarea,button{max-width:100%;min-width:0}
.ri-table-wrap,.fc-table-wrap,.coach-table-wrap{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}

@media(max-width:1100px){
  .coach-topbar-inner,.ri-topbar-inner,.fc-topbar-inner{gap:10px}
  .coach-program-label,.ri-user{max-width:24vw}
  .coach-hero h1{font-size:clamp(2rem,4.5vw,3rem)}
}
@media(max-width:760px){
  body{font-size:.95rem}
  a[aria-label="Softball Game Plan home"]{width:170px;height:52px;min-width:170px;flex-basis:170px;padding-left:0!important;background-size:contain}
  .ri-brand img,.coach-brand img{width:160px!important;height:auto!important;max-height:50px;flex-basis:160px}
  .ri-brand .ri-product-label,.fc-brand>span:last-child{display:none!important}
  .fc-mark{width:160px!important;height:48px!important;flex-basis:160px!important}
  .ri-hero h1,.fc-hero h1,.coach-hero h1,.coach-auth-promise h1{font-size:clamp(1.85rem,8.8vw,2.55rem)!important;line-height:1.02}
  .ri-heading h1,.fc-heading h1,.coach-section h1{font-size:clamp(1.7rem,8vw,2.3rem)!important}
  .ri-card h2,.fc-card h2,.coach-card h2{font-size:1.13rem!important}
  .ri-card p,.fc-card p,.coach-card p{font-size:.92rem;line-height:1.58}
  .coach-top-actions .coach-free-badge,.coach-program-label{display:none}
}
@media(max-width:430px){
  body{font-size:.93rem}
  a[aria-label="Softball Game Plan home"]{width:148px;height:45px;min-width:148px;flex-basis:148px;padding-left:0!important;background-size:contain}
  .ri-brand img,.coach-brand img{width:145px!important;max-height:45px;flex-basis:145px}
  .fc-mark{width:145px!important;height:44px!important;flex-basis:145px!important}
  .ri-topbar-inner,.fc-topbar-inner,.coach-topbar-inner{padding-inline:10px!important}
  .ri-stat strong,.fc-stat strong,.coach-stat strong{font-size:1.3rem!important}
  .ri-stat span,.fc-stat span,.coach-stat span{font-size:.75rem!important}
}
/* 2026-09-21 production responsive polish: player, coach, and admin workspaces. */
html,body{width:100%;max-width:100%;overflow-x:hidden}
body *{min-inline-size:0}
button,a,input,select,textarea{max-width:100%}
button,a{overflow-wrap:anywhere}
img,svg,video,canvas,iframe{max-width:100%;height:auto}

/* Keep section headings and their status/action areas inside every card. */
.ri-section-heading,.coach-section-head,.admin-major-head,
.ri-card header,.coach-card header,.admin-player-card header,.admin-review-card header{
  min-width:0;max-width:100%;flex-wrap:wrap
}
.ri-section-heading>div:first-child,.coach-section-head>div:first-child,
.admin-major-head>div:first-child,.ri-card header>div:first-child,
.coach-card header>div:first-child,.admin-player-card header>div:first-child{
  min-width:min(100%,18rem);flex:1 1 28rem
}
.ri-section-heading>.ri-chip,.ri-chip{
  flex:0 0 auto;max-width:100%;white-space:nowrap;text-align:center;line-height:1.25
}
.ri-actions,.coach-actions,.admin-summary-chips,.ri-profile-photo-actions{
  max-width:100%;flex-wrap:wrap
}
.ri-actions>*,.coach-actions>*,.admin-summary-chips>*,.ri-profile-photo-actions>*{
  min-width:0;max-width:100%
}

/* All cards, columns, grids, and data regions must be shrinkable. */
.ri-card,.ri-stat,.ri-section,.ri-grid>*,.ri-form-grid>*,
.coach-card,.coach-section,.coach-grid>*,.coach-filter-grid>*,
.admin-player-card,.admin-review-card,.admin-form-card,.admin-two-column>*,
.admin-player-grid>*,.admin-review-grid>*{
  min-width:0;max-width:100%;overflow-wrap:anywhere
}
.ri-card,.coach-card,.admin-player-card,.admin-review-card{overflow:hidden}
.ri-table-wrap,.coach-table-wrap,.admin-review-stack{
  max-width:100%;-webkit-overflow-scrolling:touch;overscroll-behavior-inline:contain
}

/* Form fields and controls never force a card wider than the viewport. */
.ri-body input,.ri-body select,.ri-body textarea,
.coach-app input,.coach-app select,.coach-app textarea,
.admin-ops-body input,.admin-ops-body select,.admin-ops-body textarea{
  width:100%;min-width:0;max-width:100%
}
.ri-button,.ri-link-button,.coach-button{
  max-width:100%;white-space:normal;text-align:center;line-height:1.3
}

@media(max-width:700px){
  .ri-section-heading,.coach-section-head,.admin-major-head,
  .ri-card header,.coach-card header,.admin-player-card header,.admin-review-card header{
    align-items:flex-start;flex-direction:column
  }
  .ri-section-heading>div:first-child,.coach-section-head>div:first-child,
  .admin-major-head>div:first-child{min-width:0;width:100%;flex-basis:auto}
  .ri-section-heading>.ri-chip,.ri-chip{align-self:flex-start;white-space:normal}
  .ri-actions,.coach-actions,.ri-profile-photo-actions{display:grid;grid-template-columns:1fr;width:100%}
  .ri-actions>*,.coach-actions>*,.ri-profile-photo-actions>*{width:100%}
  .admin-summary-chips{justify-content:flex-start}
  .admin-admin-list>div{grid-template-columns:1fr}
  .admin-admin-list>div>div{grid-column:auto}
}

@media(max-width:430px){
  .ri-card,.coach-card,.admin-player-card,.admin-review-card{border-radius:15px}
  .ri-profile-photo-preview{align-items:center;display:grid;grid-template-columns:auto minmax(0,1fr);gap:12px}
  .ri-profile-photo-preview>img,.ri-profile-photo-preview>span{width:68px;height:68px;flex-basis:68px}
  .admin-player-facts,.ri-grid.stats,.ri-preview-top-stats{grid-template-columns:1fr}
}
