.open-play-page{max-width:920px}.open-play-page h2{margin:24px 0 12px}.open-play-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(225px,1fr));gap:14px;margin:16px 0 28px}.open-play-card{display:grid;align-content:start;gap:9px;border:1px solid #dce7e0;border-radius:14px;padding:18px;background:#fff;color:#17211b;text-decoration:none}.open-play-card strong{font-size:18px}.open-play-card span{color:#66736b}.open-play-card b{color:#0b5d3b;margin-top:8px}.open-play-card:hover,.open-play-card:focus-visible{border-color:#0b5d3b}.open-play-join{display:grid;gap:15px;max-width:560px;margin-top:22px}.open-play-join label{display:grid;gap:7px;font-weight:700}.open-play-join input,.open-play-join textarea,.open-play-join select{width:100%;border:1px solid #dce7e0;border-radius:8px;padding:11px;font:inherit}.open-play-join .btn{justify-content:center}.open-play-page .details-card{max-width:none}.open-play-admin-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px;margin-top:20px;max-width:850px}.open-play-admin-form label{display:grid;gap:7px;font-weight:600}.open-play-admin-form input,.open-play-admin-form select{width:100%;border:1px solid #dce7e0;border-radius:8px;padding:11px;font:inherit}.open-play-admin-form fieldset{grid-column:1/-1;border:1px solid #dce7e0;border-radius:10px;padding:14px}.open-play-admin-form .open-play-check{display:inline-flex;align-items:center;margin:8px 18px 8px 0;gap:7px}.open-play-check input{width:auto}.open-play-admin-form>.admin-btn{justify-self:start}.open-play-admin-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:20px}.admin-card .open-play-card{background:#f9fbfa}@media(max-width:650px){.open-play-admin-form{grid-template-columns:1fr}.open-play-cards{grid-template-columns:1fr}}
.open-play-players{display:grid;gap:12px}.open-play-player{display:grid;gap:12px;border:1px solid #dce7e0;border-radius:10px;padding:14px;background:#f9fbfa}.open-play-player[hidden]{display:none}.open-play-player h4{margin:0;color:#0b5d3b}.open-play-player input:focus-visible,.open-play-player select:focus-visible{outline:2px solid #0b5d3b;outline-offset:1px}
.court-form-card{max-width:900px}.court-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.court-form label{display:grid;gap:8px;font-weight:600}.court-form input,.court-form select,.court-form textarea{width:100%;border:1px solid #dce7e0;border-radius:8px;padding:11px;font:inherit;background:#fff}.court-form small{font-size:12px;color:#61718c;font-weight:400}.court-form-wide{grid-column:1/-1}.court-form-actions{display:flex;justify-content:flex-end;gap:10px}.court-form-preview{display:block;width:min(360px,100%);height:220px;object-fit:cover;border-radius:10px}.court-admin-card[hidden]{display:none}.court-admin-photo{position:relative;padding:0!important;height:170px!important;display:block!important}.court-admin-photo img{width:100%;height:100%;object-fit:cover;display:block}.court-admin-photo .badge{position:absolute;top:12px;right:12px}.court-admin-body p{overflow-wrap:anywhere}.form-error{background:#fff0f0;color:#a33;border-radius:8px;padding:12px}@media(max-width:650px){.court-form{grid-template-columns:1fr}.court-form-wide{grid-column:1}.court-form-actions{justify-content:stretch}.court-form-actions .admin-btn{flex:1;text-align:center}}
.schedule-filters,.schedule-management{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:18px 0}.schedule-filters{display:flex;align-items:end;flex-wrap:wrap}.schedule-filters label,.schedule-block-form label{display:grid;gap:7px;font-weight:600}.schedule-filters input,.schedule-filters select,.schedule-block-form input{border:1px solid #dce7e0;border-radius:8px;padding:11px;font:inherit;background:#fff;min-width:0}.schedule-block-form{display:grid;gap:15px}.schedule-time-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px}.schedule-row-actions{display:flex;align-items:center;gap:8px}.schedule-row-actions form{margin:0}@media(max-width:800px){.schedule-management{grid-template-columns:1fr}}
.schedule-action{margin:2px 5px 2px 0}.schedule-confirm{width:min(430px,calc(100vw - 32px));border:0;border-radius:15px;padding:24px;box-shadow:0 18px 55px #15281b45;color:#193427}.schedule-confirm::backdrop{background:#10261cb3}.schedule-confirm h2{margin:0 0 12px}.schedule-confirm p{line-height:1.5}.schedule-confirm label{display:grid;gap:8px;font-weight:600;margin:18px 0}.schedule-confirm label[hidden]{display:none}.schedule-confirm input{border:1px solid #dce7e0;border-radius:8px;padding:11px;font:inherit}.schedule-confirm-actions{display:flex;justify-content:flex-end;gap:10px;flex-wrap:wrap}
.schedule-series{margin-top:18px}.schedule-series select{border:1px solid #dce7e0;border-radius:8px;padding:11px;font:inherit;background:#fff}.schedule-series [hidden]{display:none!important}#series-date-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}#series-add-date{justify-self:start}
.schedule-calendar{max-width:430px;border:1px solid #dce7e0;border-radius:12px;padding:14px;background:#fff}.schedule-calendar-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.schedule-calendar-toolbar h3{margin:0;font-size:16px}.schedule-calendar-toolbar button{min-width:38px;padding:6px 10px}.schedule-calendar-toolbar button:disabled{opacity:.35;cursor:not-allowed}.schedule-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;text-align:center}.schedule-weekday{font-size:11px;font-weight:700;color:#61718c;padding:8px 0}.schedule-calendar-day{aspect-ratio:1;border:0;border-radius:8px;background:#fff;color:#152b20;font:inherit;cursor:pointer}.schedule-calendar-day:not(:disabled):hover,.schedule-calendar-day:not(:disabled):focus-visible{background:#e4f4eb;outline:2px solid #0b5d3b}.schedule-calendar-day[aria-pressed=true]{background:#0b5d3b;color:#fff;font-weight:700}.schedule-calendar-day:disabled{background:#f1f3f2;color:#9ca7a0;text-decoration:line-through;cursor:not-allowed}.schedule-selected-dates{display:grid;gap:9px}.schedule-selected-dates>div{display:flex;flex-wrap:wrap;gap:7px;color:#61718c}.schedule-date-chip{border:1px solid #b7dccc;border-radius:999px;background:#ecf7f0;color:#0b5d3b;padding:6px 10px;font:inherit;cursor:pointer}
.open-play-date-picker{display:grid;align-content:start;gap:7px;position:relative;font-weight:600}.open-play-date-trigger{display:flex;align-items:center;justify-content:space-between;width:100%;border:1px solid #dce7e0;border-radius:8px;background:#fff;padding:11px;font:inherit;text-align:left;cursor:pointer}.open-play-date-trigger:focus-visible{outline:2px solid #0b5d3b}.open-play-date-picker .admin-subtitle{margin:0;font-size:12px;font-weight:400}.open-play-date-calendar{position:absolute;z-index:5;top:78px;left:0;width:min(430px,calc(100vw - 48px));box-shadow:0 12px 30px #15281b25}.open-play-date-picker [hidden]{display:none!important}
#peak-date-field[hidden]{display:none}
#peak-weekdays{border:1px solid #dce7e0;border-radius:9px;padding:12px;display:flex;flex-wrap:wrap;gap:8px 14px}#peak-weekdays[hidden]{display:none}#peak-weekdays legend{font-weight:700}#peak-weekdays label{display:inline-flex;align-items:center;gap:6px;font-weight:500;white-space:nowrap}#peak-weekdays input[type=checkbox]{width:auto;margin:0}
.court-peak-rates{margin:14px 0;padding:12px;border:1px solid #dce7e0;border-radius:9px;background:#f8fbf9}.court-peak-rates>strong{display:block;margin-bottom:7px}.court-peak-rates p{margin:0;color:#61718c}.court-peak-rates ul{list-style:none;margin:0;padding:0;display:grid;gap:7px}.court-peak-rates li{display:grid;grid-template-columns:1fr auto;gap:2px 8px;padding-top:7px;border-top:1px solid #e0e9e3;font-size:13px}.court-peak-rates li:first-child{border-top:0;padding-top:0}.court-peak-rates b{color:#0b5d3b}.court-peak-rates small{grid-column:1/-1;color:#61718c}
.court-admin-actions{flex-wrap:wrap}

/* Player session overview: close spacing within groups, clear space between them. */
.open-play-section { margin-top: 28px; }
.open-play-section + .open-play-section { margin-top: 36px; padding-top: 28px; border-top: 1px solid #dce7e0; }
.open-play-section-heading { display: grid; gap: 6px; margin-bottom: 14px; }
.open-play-section-heading h2 { display: flex; align-items: center; gap: 10px; margin: 0; font-size: 21px; }
.open-play-section-count { display: inline-grid; place-items: center; min-width: 26px; padding: 4px 8px; border-radius: 99px; background: #eaf7ef; color: #0b5d3b; font-size: 12px; }
.open-play-section-heading p { margin: 0; color: #66736b; font-size: 14px; line-height: 1.5; }
.open-play-section .open-play-cards { margin: 0; gap: 16px; grid-template-columns: minmax(0,1fr); }
.open-play-section .open-play-card { padding: 22px; gap: 16px; }
.open-play-card-heading { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px; }
.open-play-card h3 { margin: 0; font-size: 18px; line-height: 1.35; overflow-wrap: anywhere; }
.open-play-card-heading h3 { flex: 1 1 120px; }
.open-play-card-heading .status { margin: 0; flex: 0 0 auto; width: fit-content; color: #0b5d3b; background: #eaf7ef; }
.open-play-card-heading .status.pending_payment, .open-play-card-heading .status.waitlisted { background: #fff3cd; color: #725100; }
.open-play-session-identity { display: grid; gap: 6px; }
.open-play-card-meta { display: grid; gap: 6px; line-height: 1.5; font-size: 14px; }
.open-play-card-meta > div { display: grid; gap: 5px; }
.open-play-card-meta > div + div { margin-top: 10px; }
.open-play-card-meta small { color: #66736b; font-size: 12px; }
.open-play-card-meta > div > span { color: #17211b; font-weight: 500; }
.open-play-card-footer { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 14px; padding-top: 14px; border-top: 1px solid #edf1ee; }
.open-play-card-footer b { margin: 0; font-size: 14px; line-height: 1.5; }
.open-play-card-footer b span { color: inherit; }
.open-play-price { display: grid; gap: 3px; }
.open-play-price strong { font-size: 18px; color: #17211b; }
.open-play-price small { font-size: 12px; color: #66736b; }
@media(min-width:700px) { .open-play-section .open-play-cards { grid-template-columns: repeat(auto-fit,minmax(320px,1fr)); } .open-play-card-meta { grid-template-columns: minmax(0,2fr) minmax(0,1fr); gap: 20px; } .open-play-card-meta > div + div { margin-top: 0; } }

.open-play-back { display: inline-flex; align-items: center; margin: 0 0 20px; padding: 10px 12px; min-height: 44px; text-decoration: none; }
.open-play-page .details-card { padding: 24px; }
.open-play-registration-heading { display: grid; gap: 12px; padding-bottom: 20px; }
.open-play-registration-heading h2 { margin: 0; flex: 1 1 140px; font-size: 24px; line-height: 1.3; }
.open-play-registration-details { padding: 20px; }
.open-play-detail-group { border-top: 1px solid #edf1ee; padding: 20px 0; }
.open-play-detail-group h3 { margin: 0 0 12px; font-size: 14px; }
.open-play-detail-list { display: grid; gap: 16px; margin: 0; }
.open-play-detail-list > div { display: grid; gap: 5px; min-width: 0; }
.open-play-detail-list dt { color: #66736b; font-size: 12px; }
.open-play-detail-list dd { margin: 0; font-weight: 600; line-height: 1.5; overflow-wrap: anywhere; }
.open-play-registration-players { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; }
.open-play-registration-players li { padding: 10px 12px; border-radius: 8px; background: #f6faf7; line-height: 1.5; overflow-wrap: anywhere; }
.open-play-registration-amount { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 12px; padding-bottom: 0; }
.open-play-registration-amount span { color: #66736b; font-size: 13px; }
.open-play-registration-amount strong { color: #0b5d3b; font-size: 22px; }
@media(min-width:600px) { .open-play-detail-list { grid-template-columns: repeat(2,minmax(0,1fr)); } .open-play-registration-details { padding: 28px; } }
@media(min-width:600px) { .open-play-page .details-card { padding: 28px; } }
