/* Live private schedule */
.schedule-intro { margin:10px 0 18px; color:rgba(255,255,255,.68); }
.calendar-subscribe { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:16px 24px; align-items:center; margin:0 0 24px; padding:20px; border:1px solid rgba(255,255,255,.14); border-radius:18px; background:rgba(255,255,255,.06); }
.calendar-subscribe h3 { margin:0 0 5px; font-size:1.15rem; }
.calendar-subscribe p { margin:0; color:rgba(255,255,255,.7); line-height:1.5; }
.calendar-subscribe-button,.calendar-subscription-link button { min-height:44px; padding:0 18px; border:1px solid var(--red); border-radius:999px; background:var(--red); color:var(--white); font:inherit; font-size:.88rem; font-weight:900; cursor:pointer; }
.calendar-subscribe-button:disabled { opacity:.65; cursor:wait; }
.calendar-subscribe-details { grid-column:1/-1; padding-top:16px; border-top:1px solid rgba(255,255,255,.12); }
.calendar-subscribe-details[hidden] { display:none; }
.calendar-subscribe-details label { display:block; margin-bottom:7px; font-size:.82rem; font-weight:900; }
.calendar-subscription-link { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:10px; }
.calendar-subscription-link input { min-width:0; min-height:44px; padding:0 13px; border:1px solid rgba(255,255,255,.22); border-radius:10px; background:rgba(0,0,0,.24); color:var(--white); font:inherit; }
.calendar-subscribe-details details { margin-top:12px; padding-top:12px; border-top:1px solid rgba(255,255,255,.1); }
.calendar-subscribe-details summary { cursor:pointer; font-weight:900; }
.calendar-subscribe-details details p { margin-top:7px; font-size:.9rem; }
.calendar-subscribe-status { min-height:1.4em; margin-top:8px!important; color:#fff!important; font-size:.84rem; }
.calendar-subscribe-details .calendar-refresh-note { margin-top:16px; color:#ffcecf; font-size:.86rem; font-weight:800; }
.schedule-filters { display:flex; gap:8px; flex-wrap:wrap; margin:0 0 24px; }
.schedule-filter { min-height:40px; padding:0 18px; border:1px solid rgba(255,255,255,.2); border-radius:999px; background:transparent; color:rgba(255,255,255,.82); font:inherit; font-size:.88rem; font-weight:800; cursor:pointer; }
.schedule-filter:hover { border-color:rgba(255,255,255,.5); }
.schedule-filter.is-active { border-color:var(--red); background:var(--red); color:var(--white); }
.schedule-status { margin-top:24px; padding:20px; border:1px dashed rgba(255,255,255,.24); border-radius:16px; color:rgba(255,255,255,.72); text-align:center; }
.schedule-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; margin-top:26px; }
.live-schedule-card { min-width:0; display:grid; grid-template-columns:82px minmax(0,1fr); gap:18px; align-items:start; padding:20px; border:1px solid rgba(255,255,255,.08); border-radius:18px; background:rgba(255,255,255,.06); }
.game-schedule-card { border-color:rgba(227,27,35,.55); background:linear-gradient(90deg,rgba(227,27,35,.1),rgba(255,255,255,.06) 38%); box-shadow:inset 4px 0 0 var(--red); }
.game-schedule-card .schedule-type { padding:4px 8px; border-radius:999px; background:var(--red); color:var(--white); }
.practice-schedule-card .schedule-type { color:rgba(255,255,255,.62); }
.live-schedule-card .schedule-date { min-height:94px; display:grid; align-content:center; justify-items:center; border-radius:14px; background:var(--white); color:var(--text); line-height:1; }
.live-schedule-card .schedule-date strong { margin:5px 0; font-size:2rem; line-height:1; }
.live-schedule-card .schedule-date span { font-size:.76rem; font-weight:900; letter-spacing:.08em; text-transform:uppercase; }
.live-schedule-card .schedule-day { color:var(--red); }
.live-schedule-card .schedule-details { min-width:0; }
.live-schedule-card .schedule-type { display:inline-block; margin-bottom:5px; font-size:.72rem; font-weight:900; letter-spacing:.12em; text-transform:uppercase; }
.live-schedule-card h3 { margin:0; font-size:1.3rem; line-height:1.15; }
.live-schedule-card p { margin:5px 0 0; }
.live-schedule-card .schedule-time { font-weight:800; }
.live-schedule-card .schedule-location { color:rgba(255,255,255,.76); }
.live-schedule-card .schedule-description { margin-top:10px; color:rgba(255,255,255,.62); font-size:.92rem; }
.schedule-directions { display:inline-flex; margin-top:14px; color:var(--white); font-size:.9rem; font-weight:800; text-decoration:underline; text-decoration-color:var(--red); text-underline-offset:4px; }
#next-up-directions[hidden],#next-game-directions[hidden] { display:none!important; }
.game-rsvp { margin-top:16px; padding-top:15px; border-top:1px solid rgba(255,255,255,.1); }
.game-rsvp .rsvp-prompt { margin:0 0 9px; font-size:.88rem; font-weight:900; }
.player-rsvp-list { display:grid; gap:10px; }
.player-rsvp-row { display:grid; grid-template-columns:minmax(120px,1fr) auto; gap:8px 14px; align-items:center; padding:10px 0; border-top:1px solid rgba(255,255,255,.08); }
.player-rsvp-row:first-child { border-top:0; padding-top:0; }
.rsvp-player-name { margin:0!important; font-size:.9rem; font-weight:900; }
.rsvp-buttons { display:flex; gap:8px; flex-wrap:wrap; }
.rsvp-button { min-height:40px; padding:0 15px; border:1px solid rgba(255,255,255,.22); border-radius:999px; background:transparent; color:var(--white); font:inherit; font-size:.88rem; font-weight:800; cursor:pointer; }
.rsvp-button:hover:not(:disabled) { border-color:rgba(255,255,255,.5); background:rgba(255,255,255,.05); }
.rsvp-button.is-selected { border-color:var(--red); background:var(--red); }
.rsvp-button:disabled { opacity:.55; cursor:wait; }
.game-rsvp .rsvp-current-status { grid-column:1/-1; margin:0; color:rgba(255,255,255,.64); font-size:.8rem; }
.game-rsvp .rsvp-error { grid-column:1/-1; margin:0; color:#ffb4b4; font-size:.8rem; }
.rsvp-link-note { margin:0!important; color:rgba(255,255,255,.7); font-size:.84rem; }
.attendance-panel { margin-top:12px; padding-top:12px; border-top:1px solid rgba(255,255,255,.1); }
.attendance-summary { cursor:pointer; font-size:.82rem; font-weight:800; color:rgba(255,255,255,.82); }
.attendance-details { margin-top:9px; color:rgba(255,255,255,.68); font-size:.82rem; line-height:1.45; }
.attendance-details p { margin:4px 0 0; }
.next-up-panel .game-rsvp,.next-game-panel .game-rsvp { grid-column:1/-1; width:100%; border-top-color:var(--gray-100); }
.next-up-panel .player-rsvp-row,.next-game-panel .player-rsvp-row { border-top-color:var(--gray-100); }
.next-up-panel .rsvp-button,.next-game-panel .rsvp-button { border-color:var(--gray-300); color:var(--text); }
.next-up-panel .rsvp-button:hover:not(:disabled),.next-game-panel .rsvp-button:hover:not(:disabled) { border-color:var(--gray-600); background:var(--off-white); }
.next-up-panel .rsvp-button.is-selected,.next-game-panel .rsvp-button.is-selected { border-color:var(--red); background:var(--red); color:var(--white); }
.next-up-panel .rsvp-current-status,.next-up-panel .rsvp-link-note,.next-game-panel .rsvp-current-status,.next-game-panel .rsvp-link-note { color:var(--gray-600); }
.next-up-panel .attendance-panel,.next-game-panel .attendance-panel { border-top-color:var(--gray-100); }
.next-up-panel .attendance-summary,.next-game-panel .attendance-summary { color:var(--text); }
.next-up-panel .attendance-details,.next-game-panel .attendance-details { color:var(--gray-600); }
.next-game-panel .game-rsvp { margin-top:18px; }
@media (min-width:901px) {
.schedule-list { grid-template-columns:1fr; gap:12px; }.live-schedule-card { grid-template-columns:86px minmax(0,1fr); gap:22px; align-items:center; min-height:126px; padding:16px 20px; border-radius:16px; }.live-schedule-card .schedule-date { min-height:86px; }.live-schedule-card .schedule-date strong { font-size:1.9rem; }.live-schedule-card .schedule-details { display:grid; grid-template-columns:minmax(210px,.9fr) minmax(320px,1.45fr) auto; grid-template-rows:auto auto auto; column-gap:28px; align-items:center; }.live-schedule-card .schedule-type { grid-column:1; grid-row:1; margin:0 0 2px; align-self:end; justify-self:start; }.live-schedule-card h3 { grid-column:1; grid-row:2; align-self:center; font-size:1.2rem; }.live-schedule-card .schedule-time { grid-column:1; grid-row:3; margin-top:3px; align-self:start; }.live-schedule-card .schedule-location { grid-column:2; grid-row:1/span 2; margin:0; align-self:end; line-height:1.35; }.live-schedule-card .schedule-description { grid-column:2; grid-row:3; margin:5px 0 0; align-self:start; }.live-schedule-card .schedule-directions { grid-column:3; grid-row:1/span 3; align-self:center; justify-self:end; margin:0; padding:10px 16px; border:1px solid rgba(255,255,255,.18); border-radius:999px; text-decoration:none; }.game-schedule-card .game-rsvp { grid-column:1/-1; grid-row:4; display:block; margin-top:12px; padding-top:12px; }.game-schedule-card .player-rsvp-list { gap:4px; }.game-schedule-card .player-rsvp-row { grid-template-columns:minmax(160px,240px) auto minmax(150px,1fr); gap:5px 14px; padding:7px 0; }.game-schedule-card .rsvp-current-status { grid-column:auto; font-size:.74rem; }.next-up-panel .game-rsvp,.next-game-panel .game-rsvp { margin-top:18px; padding-top:16px; }.next-up-panel .rsvp-buttons,.next-game-panel .rsvp-buttons { flex-wrap:nowrap; }
}
@media (max-width:900px) { .schedule-list { grid-template-columns:1fr; } }
@media (max-width:620px) { .calendar-subscribe { grid-template-columns:1fr; }.calendar-subscribe-button { width:100%; }.calendar-subscription-link { grid-template-columns:1fr; }.calendar-subscription-link button { width:100%; } }
@media (max-width:520px) { .schedule-filter { flex:1; padding:0 10px; }.live-schedule-card { grid-template-columns:68px minmax(0,1fr); gap:14px; padding:16px; }.live-schedule-card .schedule-date { min-height:82px; }.live-schedule-card .schedule-date strong { font-size:1.65rem; }.live-schedule-card h3 { font-size:1.15rem; }.player-rsvp-row { grid-template-columns:1fr; gap:8px; }.rsvp-buttons { display:grid; grid-template-columns:1fr 1fr; }.rsvp-button { width:100%; padding:0 10px; }.attendance-summary,.attendance-details { font-size:.78rem; } }
