/* Keep session space stable before and after availability loads. */
:is(#open-upcoming,#home-upcoming){background:var(--paper,#fffaf6)}
.upcomingCards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:minmax(200px,auto);gap:14px;margin:20px 0;min-height:200px}
:is(#open-upcoming,#home-upcoming) .panel{box-sizing:border-box;min-height:200px;align-content:start;background:var(--paper,#fffaf6);border:1px solid var(--line,#e9e1e8);box-shadow:0 6px 18px rgba(50,28,55,.035);transition:border-color .18s ease,box-shadow .18s ease;line-height:1.5}
:is(#open-upcoming,#home-upcoming) .panel strong{font-size:18px;line-height:1.35;letter-spacing:-.025em;color:#65449b}
:is(#open-upcoming,#home-upcoming) .panel:nth-child(4n+2) strong{color:#a43e70}
:is(#open-upcoming,#home-upcoming) .panel:nth-child(4n+3) strong{color:#965128}
:is(#open-upcoming,#home-upcoming) .panel:nth-child(4n+4) strong{color:#4c6a38}
:is(#open-upcoming,#home-upcoming) .panel span:last-child{font-weight:700;color:#65449b;margin-top:3px}
:is(#open-upcoming,#home-upcoming) .panel:hover{border-color:#bba7d7;box-shadow:0 8px 22px rgba(50,28,55,.08)}
:is(#open-upcoming,#home-upcoming) .panel:focus-visible{outline:3px solid var(--violet,#7c5cff);outline-offset:4px}
:is(#open-upcoming,#home-upcoming) .upcomingPlaceholder{box-shadow:none}
.upcomingStatus{min-height:1.5em;line-height:1.5}
:is(#open-upcoming,#home-upcoming) .secondary{display:inline-flex}
@media(max-width:980px){.upcomingCards{grid-template-columns:repeat(2,minmax(0,1fr));min-height:414px}}
@media(max-width:520px){.upcomingCards{grid-template-columns:minmax(0,1fr);min-height:842px}}
@media(prefers-reduced-motion:reduce){:is(#open-upcoming,#home-upcoming) .panel{transition:none}}
