.player-actions-dialog{width:min(430px,calc(100vw - 24px));max-width:calc(100vw - 24px);max-height:calc(100dvh - 32px);overflow:auto;border:1px solid #bdcdce;border-radius:16px;padding:20px;background:#fff;color:#193b40;box-shadow:0 16px 60px #102b3a55}.player-actions-dialog::backdrop{background:#102b3a80}.player-actions-dialog>div{padding:0;border:0;background:#fff;overflow-wrap:anywhere}.player-actions-dialog strong{display:block;font-size:20px;line-height:1.3;margin-bottom:12px}.player-actions-dialog form{margin:10px 0}.player-actions-dialog button,.player-actions-dialog select{width:100%;min-height:44px;font-size:16px;white-space:normal}.player-actions-dialog .player-actions-close{margin-top:12px}.player-actions-dialog .player-actions-move{margin-top:10px;background:#fff;color:#193b40}.player-actions-dialog .player-actions-default{background:#193b40;color:#fff;border-color:#193b40}.player-actions-dialog .player-actions-default:focus{outline:3px solid #dc961a;outline-offset:2px}.player-actions-dialog button:focus-visible{outline:3px solid #dc961a;outline-offset:2px}
.court-swap-help:has(#court-swap-cancel:not([hidden])){position:fixed;left:12px;right:12px;bottom:12px;width:auto;max-width:620px;height:auto;margin:0 auto;padding:12px;border:1px solid #9bbca8;clip-path:none;white-space:normal;z-index:1100;box-shadow:0 4px 18px #102b3a44}.court-swap-help:has(#court-swap-cancel:not([hidden]))>div>strong{display:none}.court-swap-help:has(#court-swap-cancel:not([hidden])) button{min-height:44px;white-space:normal}.court-swap-help:has(#court-swap-cancel:not([hidden])) p{margin:0;font-size:14px}#court-swap-feedback{left:12px;right:12px;max-width:620px;margin:auto}
/* Court surface reaches the card edges; retain the centre and service lines. */
.courts[data-court-layout=courts] .court .slot-list{padding:0!important;height:auto!important;min-height:600px;aspect-ratio:auto;grid-template-rows:repeat(2,minmax(300px,auto))}.courts[data-court-layout=courts] .court .slot-list:after{inset:0;border:0;z-index:1}.courts[data-court-layout=courts] .court .slot-list>li{padding:30px 6px!important;z-index:auto;flex-wrap:nowrap}.courts[data-court-layout=courts] .court .avatar{position:relative;z-index:2;width:min(156px,100%);height:auto;aspect-ratio:1;min-width:0;min-height:0;max-width:156px;max-height:none;flex:none;transform:none;font-size:2.7rem}.courts[data-court-layout=courts] .court .player-name{position:relative;z-index:2;font-size:23px;line-height:1.2;overflow-wrap:anywhere;flex:none}.courts[data-court-layout=courts] .court .rank-status{position:relative;z-index:2;font-size:12px}.courts[data-court-layout=courts] .court .swap-pick{font-size:12px;min-height:26px}.courts[data-court-layout=courts] .court .weekly-count{font-size:14px}
/* Small portraits alongside the name in the compact view. */
.courts[data-court-layout=table] .court .slot-list>li{padding:10px 26px 23px 52px!important;min-height:80px}.courts[data-court-layout=table] .court .avatar{display:inline-flex;position:absolute;left:6px;top:8px;transform:none;width:42px;height:42px;min-width:42px;min-height:42px;max-width:42px;max-height:42px;flex:none;font-size:15px;border-width:1px}.courts[data-court-layout=table] .court .rank-status{left:52px}.courts[data-court-layout=table] .court .slot-list>li.vacant-slot{padding-left:7px!important}
.reserve-list>li{min-width:0;flex-wrap:wrap}.reserve-list .player-name{min-width:60px;overflow-wrap:anywhere}.reserve-list .slot-actions{display:flex;flex-wrap:wrap;gap:8px;flex-basis:100%;justify-content:flex-end}.reserve-list .slot-actions button{display:flex;align-items:center;gap:6px;min-height:44px;padding:8px 12px;font-size:16px}.reserve-list .slot-actions .promote:after{content:attr(title);font-size:13px}.reserve-list .slot-actions .remove:after{content:attr(title);font-size:13px}
@media(max-width:600px){.courts[data-court-layout=courts] .court .avatar{width:min(156px,100%);height:auto;min-width:0;min-height:0;max-width:156px;max-height:none}.courts[data-court-layout=courts] .court .player-name{font-size:24px}.court-swap-help:has(#court-swap-cancel:not([hidden])){gap:8px}.court-swap-help:has(#court-swap-cancel:not([hidden])) button{font-size:13px;padding:8px}}

.courts[data-court-layout=table] .court .player-name{font-size:18px;line-height:1.25}.courts[data-court-layout=table] .court .swap-pick{min-width:25px;max-width:25px}.courts[data-court-layout=courts] .court .avatar img{width:100%;height:100%;object-fit:cover}.courts[data-court-layout=courts] .court .player-name{width:100%;max-width:100%;text-align:center}.reserve-list .avatar{width:42px;height:42px;min-width:42px}.reserve-list .player-name{font-size:18px}

/* Date and layout controls share a row; counts stay readable below on narrow screens. */
.day-heading.has-court-layout{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:6px 16px;margin-bottom:12px}.day-heading.has-court-layout h2{grid-column:1;grid-row:1;min-width:0}.day-heading.has-court-layout .day-count{grid-column:2;grid-row:1;justify-self:end}.day-heading.has-court-layout .court-layout-switch{grid-column:3;grid-row:1;margin:0;justify-self:end;gap:2px;padding:3px}.day-heading.has-court-layout .court-layout-switch button{min-height:44px;min-width:60px;padding:8px 12px}
@media(max-width:700px){.day-heading.has-court-layout{grid-template-columns:minmax(0,1fr) auto;column-gap:8px;margin-top:18px}.day-heading.has-court-layout h2{font-size:18px;line-height:1.2}.day-heading.has-court-layout h2 span{display:block;margin:4px 0 0;font-size:12px}.day-heading.has-court-layout .court-layout-switch{grid-column:2}.day-heading.has-court-layout .court-layout-switch button{min-width:58px;padding:8px;font-size:13px}.day-heading.has-court-layout .day-count{grid-column:1/-1;grid-row:2;justify-self:start;font-size:12px}.day-heading.has-court-layout .day-count>span{padding:0 6px}}

/* Weekly match count is emitted for administrators only. */
.weekly-count{font-size:24px!important;line-height:1.15!important;font-weight:700}
.courts[data-court-layout=courts] .court .weekly-count{font-size:28px!important;line-height:1.15!important}
.courts[data-court-layout=table] .court .weekly-count{font-size:20px!important;line-height:1.1!important;bottom:3px}
.courts[data-court-layout=table] .court .slot-list>li:has(.weekly-count){padding-bottom:30px!important}

.remove-player-icon .remove-icon{display:block;flex:none;width:18px;height:18px}.remove-player-icon::after{content:none!important}

/* Five player actions share one target size, including the replacement link. */
.player-actions-dialog.player-actions-player-menu form{margin:0}
.player-actions-dialog.player-actions-player-menu .player-action-option{box-sizing:border-box;display:flex;align-items:center;justify-content:flex-start;gap:12px;width:100%;height:56px;min-height:56px;margin:10px 0;padding:12px 16px;border:1px solid #bdcdce;border-radius:10px;background:#fff;color:#193b40;font-size:16px;font-weight:600;line-height:1.25;text-align:left;text-decoration:none;white-space:normal}
.player-actions-dialog.player-actions-player-menu .player-actions-default{background:#193b40;color:#fff;border-color:#193b40}
.player-actions-dialog.player-actions-player-menu .player-action-icon{display:block;flex:0 0 24px;width:24px;height:28px}
.player-actions-dialog.player-actions-player-menu .player-action-label{display:block;min-width:0}
.player-actions-dialog.player-actions-player-menu .player-action-option:focus-visible{outline:3px solid #dc961a;outline-offset:2px}

/* Centre the action labels independently of their icons in both time groups. */
.player-actions-dialog.player-actions-player-menu{text-align:center}
.player-actions-dialog.player-actions-player-menu .player-action-option{position:relative;justify-content:center;padding-left:48px;padding-right:48px;text-align:center}
.player-actions-dialog.player-actions-player-menu .player-action-icon{position:absolute;left:16px;top:50%;transform:translateY(-50%)}
.player-menu>div{text-align:center}
