.schedule-filter-card { position:sticky; top:15px; z-index:1020; overflow:hidden; }
.schedule-filter-card [hidden], .schedule-filter-modal [hidden], .schedule-filter-empty[hidden] { display:none !important; }
.schedule-filter-card #filter-top-header { padding:16px 18px 10px; cursor:default; }
.schedule-filter-quick { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:0 18px 16px; }
.schedule-filter-presets { display:flex; gap:4px; border-radius:12px; background:#f1f3f5; padding:4px; }
.schedule-filter-preset { border:0; border-radius:9px; background:transparent; color:#69717c; font-size:.86rem; font-weight:700; padding:9px 15px; white-space:nowrap; min-height:40px; }
.schedule-filter-preset[aria-pressed="true"] { background:#fff; color:var(--theme-main-color,#212529); box-shadow:0 1px 5px #19233214; }
.schedule-filter-more { display:flex; align-items:center; justify-content:center; gap:7px; border:1px solid #e2e5ea; background:#fff; border-radius:10px; padding:9px 12px; min-height:42px; font-size:.8rem; font-weight:700; color:#48515f; white-space:nowrap; }
.schedule-filter-more:hover, .schedule-filter-more:focus-visible { border-color:var(--theme-main-color,#212529); color:var(--theme-main-color,#212529); }
#filter-applied-badge { color:var(--theme-main-color,#212529); font-size:.7rem; }
.schedule-filter-summary { display:flex; align-items:center; gap:12px; padding:0 20px 13px; font-size:.78rem; line-height:1.6; }
.schedule-filter-summary #summary-text { flex:1; font-weight:600; color:#495260; overflow-wrap:anywhere; }
.schedule-filter-summary button, .schedule-filter-empty button, .schedule-enjoyment-heading button { border:0; background:none; color:#596474; text-decoration:underline; text-underline-offset:3px; white-space:nowrap; font-size:.76rem; padding:7px 0; }
.schedule-filter-note { color:#7b8491; font-size:.73rem; padding:0 20px 12px; margin:0; }
.schedule-filter-note button { margin-left:8px; padding:2px 0; border:0; background:none; color:inherit; font:inherit; text-decoration:underline; text-underline-offset:3px; }
.schedule-filter-empty { padding:22px; margin-bottom:18px; border:1px solid #e4e7ec; border-radius:16px; text-align:center; background:#fff; font-size:.88rem; }
.schedule-filter-empty > div { display:flex; justify-content:center; gap:20px; margin-top:8px; }
.schedule-filter-modal .modal-dialog { max-width:550px; }
.schedule-filter-modal .modal-content { border:0; border-radius:22px; box-shadow:0 20px 70px #10182833; overflow:hidden; }
.schedule-filter-modal .modal-header { padding:22px 24px 18px; border-color:#edf0f3; }
.schedule-filter-modal .modal-title { font-size:1.14rem; font-weight:800; }
.schedule-filter-modal .modal-header p { color:#7b8491; font-size:.8rem; margin:5px 0 0; }
.schedule-filter-modal .modal-body { padding:22px 24px; overscroll-behavior:contain; }
.schedule-filter-modal .modal-footer { display:block; padding:14px 24px 20px; background:#fff; border-color:#edf0f3; }
#filter-draft-description { margin:0 0 12px; color:#5c6574; font-size:.78rem; line-height:1.5; overflow-wrap:anywhere; }
.schedule-filter-footer-actions { display:flex; gap:8px; align-items:center; }
.schedule-filter-footer-actions .btn { font-size:.85rem; font-weight:700; padding:10px 17px; border-radius:10px; }
.schedule-filter-footer-actions .btn-link { margin-right:auto; color:#7b8491; font-weight:500; padding-left:0; font-size:.78rem; text-decoration:none; }
.schedule-filter-apply { background:var(--theme-main-color,#212529); color:#fff; }
.schedule-filter-apply:hover, .schedule-filter-apply:focus-visible { background:var(--theme-main-color,#212529); color:#fff; filter:brightness(.92); }
.schedule-filter-apply:disabled { background:#e3e6eb; color:#8e96a3; border-color:transparent; }
.schedule-filter-section { margin:0 0 25px; padding:0; border:0; min-width:0; }
.schedule-filter-section legend { font-size:.87rem; font-weight:750; margin-bottom:12px; }
.schedule-filter-section legend span { font-size:.72rem; font-weight:400; color:#89919e; margin-left:6px; }
.schedule-filter-chips { display:flex; flex-wrap:wrap; gap:8px; }
.schedule-filter-chips > div { position:relative; }
.schedule-filter-chips input { position:absolute; opacity:0; width:1px; height:1px; }
.schedule-filter-modal .filter-chip { display:flex; align-items:center; justify-content:center; min-height:39px; min-width:54px; padding:8px 14px; font-size:.8rem; font-weight:600; border:1px solid #e1e5eb; border-radius:11px; background:#fff; color:#636d7a; cursor:pointer; margin:0; }
.schedule-filter-chips input:checked + .filter-chip { color:#fff !important; box-shadow:none !important; }
.schedule-filter-chips input:focus-visible + .filter-chip { outline:3px solid #86b7fe; outline-offset:3px; }
.schedule-filter-help { color:#8a929d; font-size:.72rem; margin:10px 0 0; line-height:1.6; }
.schedule-stadium-group { display:flex; gap:10px; align-items:center; margin-top:10px; }
.schedule-stadium-group > span { flex:0 0 66px; font-size:.72rem; color:#8a929d; }
.schedule-filter-details { border-top:1px solid #edf0f3; padding:15px 0; }
.schedule-filter-details:last-child { padding-bottom:0; }
.schedule-filter-details summary { display:flex; align-items:center; justify-content:space-between; font-size:.83rem; font-weight:700; cursor:pointer; list-style:none; min-height:27px; }
.schedule-filter-details summary::-webkit-details-marker { display:none; }
.schedule-filter-details summary i { font-size:.7rem; color:#8a929d; }
.schedule-filter-details[open] summary i { transform:rotate(180deg); }
.schedule-filter-modal.fade { transition:opacity 120ms ease-out; }
.schedule-filter-modal.fade .modal-dialog { transform:translateY(10px) scale(.99); transition:transform 160ms cubic-bezier(.2,.8,.2,1); }
.schedule-filter-modal.show .modal-dialog { transform:none; }
.schedule-filter-modal .filter-chip, .schedule-filter-preset, .schedule-filter-more, .schedule-filter-apply { transition:background-color 140ms ease, border-color 140ms ease, color 120ms ease, transform 100ms ease; }
.schedule-filter-modal .filter-chip:active, .schedule-filter-preset:active, .schedule-filter-more:active, .schedule-filter-apply:active { transform:scale(.97); }
.schedule-filter-details summary i { transition:transform 140ms ease; }
.schedule-filter-details[open] .schedule-match-content { animation:schedule-filter-reveal 140ms ease-out; }
.schedule-match-options { border:0; padding:0; margin:16px 0 0; min-width:0; display:grid; gap:7px; }
.schedule-match-options legend, .schedule-anchor-field legend { float:none; width:auto; font-size:.73rem; font-weight:600; color:#7b8491; margin:0 0 9px; }
.schedule-match-option, .schedule-anchor-option { position:relative; cursor:pointer; }
.schedule-match-option input, .schedule-anchor-option input { position:absolute; opacity:0; width:1px; height:1px; }
.schedule-match-option-card { display:flex; gap:12px; align-items:center; min-height:61px; padding:11px 13px; border:1px solid #e7eaee; border-radius:12px; background:#fff; transition:background-color 140ms ease, border-color 140ms ease, transform 100ms ease; }
.schedule-match-option-icon { display:grid; place-items:center; flex:0 0 32px; height:32px; border-radius:9px; background:#f3f5f7; color:#848d9b; font-size:1rem; transition:background-color 140ms ease, color 140ms ease; }
.schedule-match-option-card > span { flex:1; min-width:0; }
.schedule-match-option-card strong { display:block; font-size:.81rem; font-weight:700; color:#4f5967; }
.schedule-match-option-card small { display:block; font-size:.7rem; color:#8a929d; margin-top:3px; line-height:1.45; }
.schedule-match-option-check { display:grid; place-items:center; flex:0 0 19px; height:19px; border-radius:50%; border:1px solid #dce1e8; color:transparent; font-size:.72rem; transform:scale(.9); transition:background-color 140ms ease, border-color 140ms ease, color 100ms ease, transform 150ms ease; }
.schedule-match-option input:checked + .schedule-match-option-card { border-color:rgba(var(--theme-main-color-rgb,33,37,41),.4); background:rgba(var(--theme-main-color-rgb,33,37,41),.035); }
.schedule-match-option input:checked + .schedule-match-option-card strong { color:var(--theme-main-color,#212529); }
.schedule-match-option input:checked + .schedule-match-option-card .schedule-match-option-icon { background:rgba(var(--theme-main-color-rgb,33,37,41),.075); color:var(--theme-main-color,#212529); }
.schedule-match-option input:checked + .schedule-match-option-card .schedule-match-option-check { background:var(--theme-main-color,#212529); border-color:var(--theme-main-color,#212529); color:#fff; transform:scale(1); }
.schedule-match-option input:focus-visible + .schedule-match-option-card, .schedule-anchor-option input:focus-visible + span { outline:2px solid var(--theme-main-color,#212529); outline-offset:3px; }
.schedule-match-option:active .schedule-match-option-card { transform:scale(.99); }
.schedule-anchor-field { margin:14px 0 0; padding:14px; border:0; border-radius:12px; background:#f6f7f9; min-width:0; animation:schedule-filter-reveal 140ms ease-out; }
.schedule-anchor-field legend { padding:0; margin:0; transform:translateY(7px); }
.schedule-anchor-options { display:flex; flex-wrap:wrap; gap:7px; margin-top:12px; }
.schedule-anchor-option > span { display:flex; align-items:center; justify-content:center; gap:7px; min-height:40px; border:1px solid #e1e5eb; border-radius:10px; padding:7px 12px; background:#fff; color:#65707e; font-size:.78rem; font-weight:650; transition:background-color 140ms ease, border-color 140ms ease, color 140ms ease, transform 100ms ease; }
.schedule-anchor-option img { object-fit:contain; }
.schedule-anchor-option input:checked + span { border-color:var(--theme-main-color,#212529); color:var(--theme-main-color,#212529); box-shadow:0 1px 4px #1822300a; }
.schedule-anchor-option:active > span { transform:scale(.97); }
@media (hover:hover) {
    .schedule-match-option:hover .schedule-match-option-card { border-color:rgba(var(--theme-main-color-rgb,33,37,41),.3); }
    .schedule-anchor-option:hover > span { border-color:#abb3bf; }
}
@keyframes schedule-filter-reveal { from { opacity:0; transform:translateY(-4px); } to { opacity:1; transform:translateY(0); } }
@media (prefers-reduced-motion:reduce) {
    .schedule-filter-modal, .schedule-filter-modal *, .schedule-filter-card * { animation:none !important; transition:none !important; }
}
.schedule-results-option { display:flex; align-items:center; justify-content:space-between; font-size:.83rem; margin:18px 0; }
.schedule-results-option small { display:block; font-size:.71rem; color:#8a929d; margin-top:4px; }
.schedule-enjoyment-heading { display:flex; justify-content:space-between; align-items:center; font-size:.83rem; }
.schedule-enjoyment-options { display:grid; grid-template-columns:1fr 32px 1fr 32px; align-items:center; column-gap:12px; row-gap:12px; margin-top:12px; }
.schedule-enjoyment-options label { display:flex; align-items:center; gap:8px; font-size:.8rem; }
.schedule-enjoyment-options .form-check-input { margin:0; }
.enjoyment-color-input { border:1px solid #e3e6eb; border-radius:7px; padding:3px; width:30px; height:30px; cursor:pointer; background:#fff; }
.schedule-filter-modal .form-check-input:checked { background-color:var(--theme-main-color,#212529); border-color:var(--theme-main-color,#212529); }
@media (max-width:575.98px) {
    .schedule-filter-card { top:8px; }
    .schedule-filter-card #filter-top-header { padding:13px 12px 9px; }
    .schedule-filter-quick { padding:0 12px 12px; gap:8px; }
    .schedule-filter-preset { font-size:.76rem; padding:8px 11px; min-height:38px; }
    .schedule-filter-more { font-size:.74rem; padding:8px 10px; min-height:42px; gap:5px; }
    #filter-applied-badge { font-size:0; width:6px; height:6px; border-radius:50%; background:var(--theme-main-color,#212529); }
    .schedule-filter-summary { padding:0 15px 10px; gap:8px; }
    .schedule-filter-note { padding:0 15px 10px; font-size:.67rem; }
    .schedule-filter-modal .modal-dialog { margin:10px; min-height:calc(100% - 20px); }
    .schedule-filter-modal .modal-content { max-height:calc(100dvh - 20px); border-radius:18px; }
    .schedule-filter-modal .modal-header, .schedule-filter-modal .modal-body { padding:18px; }
    .schedule-filter-modal .modal-footer { padding:12px 18px calc(15px + env(safe-area-inset-bottom)); }
    .schedule-filter-modal .filter-chip { min-width:49px; padding:8px 11px; }
    .schedule-filter-chips { gap:7px; }
    .schedule-stadium-group > span { flex-basis:56px; font-size:.68rem; }
    .schedule-enjoyment-options { column-gap:7px; }
}
