/* Stable tracks: optional Check In never participates in column sizing. */
.openplay-app #players .player-row{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) 120px 90px 64px 142px!important;
  gap:8px 14px!important;
  align-items:center!important;
}
.openplay-app #players .player-main{grid-column:1!important;grid-row:1!important}
.openplay-app #players .player-status-cell{grid-column:2!important;grid-row:1!important;width:120px!important;box-sizing:border-box;justify-self:start}
.openplay-app #players .player-games-cell{grid-column:3!important;grid-row:1!important}
.openplay-app #players .player-record-cell{grid-column:4!important;grid-row:1!important}
.openplay-app #players .player-actions{
  grid-column:5!important;grid-row:1!important;
  display:grid!important;grid-template-columns:92px 42px!important;
  gap:8px!important;width:142px!important;min-height:42px;
  justify-self:end;align-items:center!important;
}
.openplay-app #players .player-actions>.player-checkin-btn{
  grid-column:1;grid-row:1;width:92px!important;min-width:92px!important;
}
.openplay-app #players .player-action-wrap{grid-column:2;grid-row:1;justify-self:end}
/* Switch according to the actual card width, including narrow desktop panels. */
@container players-card (max-width:680px){
  .openplay-app #players .player-row{
    grid-template-columns:minmax(0,1fr) 120px!important;
    gap:8px 12px!important;
  }
  .openplay-app #players .player-main{grid-column:1/-1!important;grid-row:1!important}
  .openplay-app #players .player-status-cell{grid-column:1/-1!important;grid-row:2!important}
  .openplay-app #players .player-games-cell{grid-column:1!important;grid-row:3!important}
  .openplay-app #players .player-record-cell{grid-column:2!important;grid-row:3!important}
  .openplay-app #players .player-actions{grid-column:1/-1!important;grid-row:4!important}
  .openplay-app #players .player-action-menu{
    right:0;top:calc(100% + 7px);transform:none;
    min-width:min(210px,calc(100vw - 64px));max-width:calc(100vw - 64px);
  }
}
/* Older mobile rules hid these cells; keep all player statistics available. */
.openplay-app #players .player-status-cell{display:inline-flex!important}
.openplay-app #players .player-games-cell,
.openplay-app #players .player-record-cell{display:block!important}
.openplay-app #players .player-menu-trigger{
  width:42px!important;min-width:42px!important;height:42px!important;min-height:42px!important;
}
.openplay-app #players .player-menu-trigger::after{content:none!important;display:none!important}
/* Option C: mobile-only minimal player list. */
.openplay-app #players .player-initial-avatar,
.openplay-app #players .player-menu-dots,
.openplay-app #players .mobile-player-checkin{display:none!important}
@media(max-width:700px){
  .openplay-app #players .player-row{
    grid-template-columns:32px minmax(0,1fr) 44px!important;
    gap:4px 10px!important;padding:12px 0!important;margin:0!important;
    min-height:86px!important;border:0!important;border-bottom:1px solid #e4eaea!important;
    border-radius:0!important;background:#fff!important;box-shadow:none!important;
  }
  .openplay-app #players .player-initial-avatar{
    display:grid!important;place-items:center;grid-column:1;grid-row:1/3;
    width:32px;height:32px;border-radius:50%;background:#edf5f3;color:#075056;
    font-size:13px;font-weight:600;padding:0;align-self:center;
  }
  .openplay-app #players .player-main{grid-column:2!important;grid-row:1!important}
  .openplay-app #players .player-main>strong{
    white-space:normal!important;overflow-wrap:anywhere;font-size:14px!important;line-height:1.3;font-weight:600!important;
  }
  .openplay-app #players .player-main>.muted{font-size:12px;line-height:1.4}
  .openplay-app #players .player-status-cell{
    grid-column:2!important;grid-row:2!important;width:120px!important;
    font-size:10px!important;line-height:14px;padding:2px 7px!important;letter-spacing:0!important;
    color:#52615e;background:#f2f5f4;border-color:#e4eaea;
  }
  .openplay-app #players .player-status-cell[data-status="UP_NEXT"]{background:#e2f3ed;color:#075056;border-color:#d1e9df}
  .openplay-app #players .player-status-cell[data-status="CHECKED_OUT"]{background:#f2f3f4;color:#626a70;border-color:#e3e5e7}
  .openplay-app #players .player-games-cell,
  .openplay-app #players .player-record-cell,
  .openplay-app #players .player-actions>.player-checkin-btn,
  .openplay-app #players .player-menu-trigger>svg{display:none!important}
  .openplay-app #players .player-actions{
    grid-column:3!important;grid-row:1/3!important;grid-template-columns:44px!important;
    width:44px!important;min-height:44px;gap:0!important;align-self:center!important;
  }
  .openplay-app #players .player-action-wrap{grid-column:1;z-index:auto}
  .openplay-app #players .player-menu-trigger{
    width:44px!important;min-width:44px!important;height:44px!important;min-height:44px!important;
    padding:0!important;border:0!important;background:transparent!important;box-shadow:none!important;color:#344540!important;
  }
  .openplay-app #players .player-menu-dots{display:block!important;font-size:26px;line-height:1}
  .openplay-app #players .player-action-menu{
    position:fixed!important;right:auto!important;bottom:auto!important;transform:none!important;
    width:210px;min-width:0;max-width:calc(100vw - 16px);max-height:calc(100dvh - 16px);
    overflow-y:auto;z-index:900;background:#fff;
  }
  .openplay-app #players .mobile-player-checkin{display:grid!important}
  .openplay-app #players .player-menu-action{min-height:44px!important}
  .openplay-app #players .player-menu-action[hidden]{display:none!important}
  .openplay-app #playerPagination .pagination-actions{gap:8px;padding:8px 0}
  .openplay-app #playerPagination button{min-height:44px;padding:8px 12px!important}
}
@media(max-width:700px){
  .openplay-app #players .player-row .player-actions .player-menu-trigger{
    width:44px!important;min-width:44px!important;height:44px!important;min-height:44px!important;padding:0!important;
  }
}
@media(max-width:700px){
  .openplay-app #players .player-action-menu{margin:0!important;inset:auto;}
}
@media(max-width:700px){
  .openplay-app #players .player-status-cell{border:1px solid #e4eaea;border-radius:999px;font-weight:600;}
}
.openplay-app #players .mobile-player-delete{display:none!important}
@media(max-width:700px){
  .openplay-app #players .mobile-player-delete{display:grid!important;color:#a33232!important;order:10}
  .openplay-app #players .player-delete-small{display:none!important}
  .openplay-app #players .player-status-cell{width:max-content!important;max-width:100%}
}
#mobilePlayerEditor{position:fixed;inset:auto 0 0;margin:0 auto;width:100%;max-width:700px;box-sizing:border-box;padding:20px 18px max(18px,env(safe-area-inset-bottom));border:0;border-radius:20px 20px 0 0;background:#fff;color:#20312e;overflow-y:auto;overscroll-behavior:contain;box-shadow:0 -8px 40px #102b3020;}
#mobilePlayerEditor::backdrop{background:#102b3055}
#mobilePlayerEditor header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}
#mobilePlayerEditor h2{font-size:19px;font-weight:600;margin:0}
#mobilePlayerEditor button{min-height:44px;border-radius:10px;padding:10px 16px;border:1px solid #d6e1de;background:#fff;color:#213b35;font:inherit;font-size:14px;cursor:pointer}
#mobilePlayerEditor header button{width:44px;padding:0;border:0;font-size:26px}
#mobilePlayerEditor .player-sheet-fields{display:grid;grid-template-columns:1fr 1fr;gap:14px 12px}
#mobilePlayerEditor label{display:flex;flex-direction:column;gap:6px;font-size:13px;font-weight:500;min-width:0}
#mobilePlayerEditor .sheet-name{grid-column:1/-1}
#mobilePlayerEditor input,#mobilePlayerEditor select{box-sizing:border-box;width:100%;min-width:0;min-height:46px;padding:10px 12px;border:1px solid #cfdcd7;border-radius:9px;background:#fff;color:#20312e;font:inherit;font-size:16px}
#mobilePlayerEditor input:focus,#mobilePlayerEditor select:focus{outline:2px solid #075056;outline-offset:1px}
#mobilePlayerEditor [aria-invalid=true]{border-color:#b22d35}
#mobilePlayerEditor [role=alert]{color:#a32d36;font-size:12px;margin:0}
#mobilePlayerEditor [role=alert]:empty{display:none}
#mobilePlayerEditor footer{display:flex;gap:10px;margin-top:20px;padding-bottom:2px}
#mobilePlayerEditor footer button{flex:1}
#mobilePlayerEditor .sheet-save{background:#075056;border-color:#075056;color:#fff}
@media(max-width:350px){#mobilePlayerEditor .player-sheet-fields{grid-template-columns:1fr}}
#mobilePlayerEditor .sheet-save{background:#075056!important;color:#fff!important;--control-ink:#fff}
#mobilePlayerEditor .sheet-save:hover{background:#06443f!important;color:#fff!important}
.openplay-app .continue-courts{padding:14px 0;margin:6px 0;border-bottom:1px solid #e2eae6}
.openplay-app #continueToCourts{min-height:44px;background:#075056!important;color:#fff!important;border-radius:10px;padding:11px 18px}
.openplay-app #continueToCourts:disabled{opacity:.5;cursor:not-allowed}
.openplay-app #continueCourtsHint{font-size:12px;line-height:1.5;margin:8px 0 0}
.openplay-app #continueCourtsError{color:#a32d36;font-size:13px;margin:8px 0}
@media(max-width:700px){.openplay-app #continueToCourts{width:100%}}
.openplay-app .button-requirement{display:block;flex-basis:100%;grid-column:1/-1;font-size:12px;line-height:1.5;color:#53675e;margin:6px 0}
.openplay-app .button-requirement[hidden]{display:none!important}
/* Authoritative hidden actions must not be re-enabled by menu display rules. */
.openplay-app #players .player-menu-action[hidden]{display:none!important}
