.schedule-page{max-width:1400px;margin:0 auto;padding:20px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;color:#333}.schedule-page *{box-sizing:border-box}.schedule-header{text-align:center;margin-bottom:32px}.schedule-header h1{font-size:32px;font-weight:700;color:#0055a4;margin:0 0 8px}.schedule-subtitle{font-size:16px;color:#666;margin:0}.schedule-tabs{display:flex;gap:12px;margin-bottom:24px;border-bottom:2px solid #E0E0E0;padding-bottom:0}.schedule-tab{display:flex;align-items:center;gap:8px;padding:12px 24px;background:transparent;border:none;border-bottom:3px solid transparent;cursor:pointer;font-size:16px;font-weight:500;color:#666;transition:all .2s ease;position:relative;top:2px}.schedule-tab:hover{color:#0055a4;background:#0055a40d}.schedule-tab.active{color:#0055a4;border-bottom-color:gold;background:#0055a40d}.tab-icon{font-size:20px}.tab-label{font-weight:600}.schedule-counter{text-align:center;margin-bottom:24px;font-size:14px;color:#666;font-weight:500}.schedule-content{min-height:400px;position:relative}.schedule-loading{text-align:center;padding:60px 20px;color:#999}.schedule-loading:before{content:"\23f3";display:block;font-size:48px;margin-bottom:16px;animation:pulse 1.5s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@media (max-width: 768px){.schedule-page{padding:12px}.schedule-header h1{font-size:24px}.schedule-tabs{flex-direction:column;gap:0;border-bottom:none}.schedule-tab{border-bottom:1px solid #E0E0E0;border-left:3px solid transparent;padding:16px 20px;top:0}.schedule-tab.active{border-bottom-color:#e0e0e0;border-left-color:gold}}.schedule-filter-bar{background:#f5f5f5;padding:20px;border-radius:8px;margin-bottom:24px}.filter-group{margin-bottom:16px}.filter-group:last-child{margin-bottom:0}.filter-label{display:block;font-size:14px;font-weight:600;color:#333;margin-bottom:8px}.filter-select{width:100%;padding:10px 12px;border:1px solid #DDD;border-radius:4px;font-size:14px;background:#fff;cursor:pointer}.filter-select:focus{outline:none;border-color:#0055a4;box-shadow:0 0 0 3px #0055a41a}.filter-multi-select{position:relative}.filter-button{width:100%;padding:10px 12px;border:1px solid #DDD;border-radius:4px;font-size:14px;background:#fff;cursor:pointer;display:flex;justify-content:space-between;align-items:center;text-align:left}.filter-button:hover{border-color:#0055a4}.filter-arrow{font-size:10px;transition:transform .2s}.filter-button.open .filter-arrow{transform:rotate(180deg)}.filter-dropdown{position:absolute;top:100%;left:0;right:0;background:#fff;border:1px solid #DDD;border-radius:4px;margin-top:4px;box-shadow:0 4px 12px #00000026;z-index:100;max-height:300px;overflow-y:auto}.filter-search{width:100%;padding:8px 12px;border:none;border-bottom:1px solid #E0E0E0;font-size:14px}.filter-search:focus{outline:none;border-bottom-color:#0055a4}.filter-search-main{width:100%;padding:10px 12px 10px 36px;border:1px solid #DDD;border-radius:4px;font-size:14px;background:#fff url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="%23666" stroke-width="2"><circle cx="11" cy="11" r="8"/><path d="m21 21-4.35-4.35"/></svg>') no-repeat 10px center}.filter-search-main:focus{outline:none;border-color:#0055a4;box-shadow:0 0 0 3px #0055a41a}.filter-options{padding:8px}.filter-option{display:flex;align-items:center;gap:8px;padding:8px;cursor:pointer;border-radius:4px;transition:background .15s}.filter-option:hover{background:#f5f5f5}.filter-option input[type=checkbox]{width:16px;height:16px;cursor:pointer}.filter-option-label{flex:1;font-size:14px;color:#333;cursor:pointer}.filter-option-count{font-size:12px;color:#999;background:#f0f0f0;padding:2px 6px;border-radius:10px}.filter-clear-button{padding:10px 20px;background:#fff;border:1px solid #DDD;border-radius:4px;font-size:14px;cursor:pointer;color:#666;transition:all .2s}.filter-clear-button:hover{background:#f5f5f5;border-color:#999;color:#333}.active-filters{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}.active-filter-pill{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;background:#0055a4;color:#fff;border-radius:16px;font-size:13px;font-weight:500}.active-filter-remove{background:none;border:none;color:#fff;font-size:16px;cursor:pointer;padding:0;line-height:1}.active-filter-remove:hover{opacity:.7}@media (min-width: 768px){.schedule-filter-bar{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px}.filter-group{margin-bottom:0}.active-filters{grid-column:1 / -1;margin-top:0}}.session-card{background:#fff;border-radius:8px;padding:16px;box-shadow:0 2px 4px #0000000f;transition:all .2s;cursor:pointer;border-left:4px solid #E0E0E0;display:flex;flex-direction:column;gap:12px}.session-card:hover{box-shadow:0 4px 12px #0000001f;transform:translateY(-2px)}.session-card-header{display:flex;justify-content:space-between;align-items:center}.session-code{font-family:Courier New,Courier,monospace;font-size:16px;font-weight:700;color:#0055a4}.session-favorite{background:none;border:none;font-size:20px;cursor:pointer;padding:4px;line-height:1;transition:transform .2s}.session-favorite:hover{transform:scale(1.2)}.session-favorite.active .favorite-icon{content:"\2605";color:gold}.favorite-icon:before{content:"\2606"}.session-favorite.active .favorite-icon:before{content:"\2605"}.session-card-sport{display:flex;align-items:center;gap:8px}.sport-icon{font-size:20px}.sport-name{font-size:14px;font-weight:600;color:#333}.session-card-time{display:flex;flex-direction:column;gap:4px;font-size:14px;color:#666}.session-date{font-weight:500}.session-time{font-size:13px}.session-card-event{font-size:14px;color:#333;line-height:1.4}.session-card-venue{display:flex;align-items:center;gap:6px;font-size:13px;color:#666}.venue-icon{font-size:14px}.session-card-cta{margin-top:8px;padding:8px 16px;background:#0055a4;color:#fff;border:none;border-radius:4px;font-size:14px;font-weight:500;cursor:pointer;transition:background .2s}.session-card-cta:hover{background:#003d7a}.session-card[data-sport-color]{border-left-color:var(--sport-color)}.schedule-error{text-align:center;padding:60px 20px;color:#e74c3c}.schedule-error p{font-size:16px;margin-bottom:20px}.schedule-error button{padding:10px 20px;background:#0055a4;color:#fff;border:none;border-radius:4px;font-size:14px;cursor:pointer}.schedule-error button:hover{background:#003d7a}.session-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:24px;margin-bottom:24px}.session-card.is-favorite{background:#fffef0;border-left-width:5px;box-shadow:0 2px 8px #ffd70033}.session-card.is-favorite:hover{box-shadow:0 4px 16px #ffd7004d}.load-more-container{text-align:center;padding:24px 0}.load-more-button{padding:12px 32px;background:#0055a4;color:#fff;border:none;border-radius:4px;font-size:14px;font-weight:500;cursor:pointer;transition:background .2s}.load-more-button:hover{background:#003d7a}.schedule-empty{text-align:center;padding:60px 20px;color:#666}.schedule-empty p{font-size:18px;margin-bottom:20px}.schedule-empty button{padding:10px 20px;background:#0055a4;color:#fff;border:none;border-radius:4px;font-size:14px;cursor:pointer;transition:background .2s}.schedule-empty button:hover{background:#003d7a}@media (max-width: 768px){.session-grid{grid-template-columns:1fr;gap:16px}.load-more-button{width:100%;max-width:300px}}.detail-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0000;z-index:1000;display:flex;align-items:center;justify-content:flex-end;opacity:0;visibility:hidden;transition:opacity .3s ease,visibility .3s ease,background .3s ease}.detail-overlay.is-active{opacity:1;visibility:visible;background:#00000080}.detail-panel{position:relative;background:#fff;width:500px;max-width:90vw;height:100vh;overflow-y:auto;box-shadow:-4px 0 20px #00000026;transform:translate(100%);transition:transform .3s ease;display:flex;flex-direction:column}.detail-panel.is-active{transform:translate(0)}.detail-header{position:sticky;top:0;background:#fff;padding:16px 24px;border-bottom:1px solid #E0E0E0;display:flex;justify-content:flex-end;align-items:center;z-index:10}.detail-close{background:none;border:none;font-size:32px;line-height:1;cursor:pointer;color:#999;padding:0;width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .2s ease}.detail-close:hover{background:#f5f5f5;color:#333}.detail-close:focus{outline:2px solid #0055A4;outline-offset:2px}.detail-content{flex:1;padding:24px;overflow-y:auto}.detail-session-header{margin-bottom:32px;padding-bottom:24px;border-bottom:2px solid #E0E0E0}.detail-code{font-family:Courier New,Courier,monospace;font-size:28px;font-weight:700;color:#0055a4;margin:0 0 12px;line-height:1.2}.detail-sport{display:flex;align-items:center;gap:8px;font-size:16px;font-weight:600;color:#666}.detail-sport .sport-icon{font-size:24px}.detail-section{margin-bottom:24px}.detail-section h3{font-size:12px;font-weight:700;color:#999;text-transform:uppercase;letter-spacing:.5px;margin:0 0 8px}.detail-section p{margin:0 0 8px;font-size:16px;color:#333;line-height:1.5}.detail-section p:last-child{margin-bottom:0}.detail-event{font-size:18px;font-weight:500;line-height:1.4}.detail-date{font-weight:600;color:#333}.detail-time{font-size:15px;color:#666}.detail-venue{display:flex;align-items:center;gap:8px;font-weight:500}.detail-venue .venue-icon{font-size:18px}.detail-actions{display:flex;flex-direction:column;gap:12px;margin-top:32px;padding-top:24px;border-top:2px solid #E0E0E0}.detail-action-btn{display:flex;align-items:center;justify-content:center;gap:8px;padding:14px 20px;border:2px solid #0055A4;border-radius:4px;background:#fff;color:#0055a4;font-size:15px;font-weight:600;cursor:pointer;transition:all .2s ease}.detail-action-btn:hover{background:#0055a4;color:#fff;transform:translateY(-1px);box-shadow:0 2px 8px #0055a44d}.detail-action-btn:active{transform:translateY(0)}.detail-action-btn:focus{outline:2px solid #0055A4;outline-offset:2px}.detail-buy-btn{background:#00c853;border-color:#00c853;color:#fff;font-weight:700;text-decoration:none}.detail-buy-btn:hover{background:#00b248;border-color:#00b248;color:#fff;transform:translateY(-1px);box-shadow:0 2px 8px #00c85366}.detail-calendar-btn{background:#fff;border-color:#0055a4;color:#0055a4}.detail-calendar-btn:hover{background:#0055a4;border-color:#0055a4;color:#fff}@media (max-width: 768px){.detail-panel{width:100%;max-width:100%}.detail-header{padding:12px 16px}.detail-content{padding:20px 16px}.detail-code{font-size:24px}.detail-event{font-size:16px}.detail-actions{position:sticky;bottom:0;background:#fff;padding:16px;margin:0 -16px;border-top:2px solid #E0E0E0;box-shadow:0 -2px 8px #0000001a}}.detail-panel{scroll-behavior:smooth}.detail-event{word-wrap:break-word;overflow-wrap:break-word;-webkit-hyphens:auto;hyphens:auto}@media (prefers-reduced-motion: no-preference){.detail-overlay,.detail-panel,.detail-action-btn{will-change:auto}.detail-overlay.is-active,.detail-panel.is-active{will-change:opacity,transform}}@media (prefers-reduced-motion: reduce){.detail-overlay,.detail-panel,.detail-action-btn{transition-duration:.01ms!important;animation-duration:.01ms!important}}.calendar-view{width:100%;background:#fff;border-radius:8px;box-shadow:0 2px 8px #00000014;overflow:hidden}.calendar-header{background:#f5f5f5;padding:20px;border-bottom:2px solid #E0E0E0}.calendar-nav{display:flex;justify-content:center;align-items:center;gap:12px;margin-bottom:12px}.calendar-nav-btn{padding:10px 20px;background:#fff;border:1px solid #DDD;border-radius:4px;font-size:14px;font-weight:500;cursor:pointer;color:#333;transition:all .2s ease}.calendar-nav-btn:hover:not(:disabled){background:#0055a4;border-color:#0055a4;color:#fff;transform:translateY(-1px);box-shadow:0 2px 6px #0055a433}.calendar-nav-btn:disabled{opacity:.4;cursor:not-allowed;background:#f5f5f5}.calendar-today{background:#0055a4;border-color:#0055a4;color:#fff}.calendar-today:hover:not(:disabled){background:#003d7a;border-color:#003d7a}.calendar-week-range{text-align:center;font-size:18px;font-weight:600;color:#333}.calendar-grid-container{overflow-x:auto;padding:20px}.calendar-grid{display:grid;grid-template-columns:80px repeat(7,1fr);gap:1px;background:#e0e0e0;border:1px solid #E0E0E0;min-width:900px}.calendar-time-header{background:#f5f5f5;border:none}.calendar-day-header{background:#0055a4;color:#fff;padding:16px 8px;text-align:center;font-weight:600;display:flex;flex-direction:column;gap:4px;min-height:60px;justify-content:center}.calendar-day-header.is-today{background:gold;color:#333}.calendar-day-name{font-size:14px;font-weight:700;text-transform:uppercase;letter-spacing:.5px}.calendar-day-date{font-size:12px;font-weight:400;opacity:.9}.calendar-time-slot{background:#f5f5f5;padding:8px 12px;text-align:right;font-size:12px;color:#666;font-weight:500;display:flex;align-items:flex-start;justify-content:flex-end;border-right:2px solid #E0E0E0}.calendar-cell{background:#fff;padding:6px;min-height:80px;position:relative;cursor:default;transition:background .2s;display:flex;flex-direction:column;gap:4px}.calendar-cell.is-today{background:#fffef0}.calendar-cell:hover{background:#f9f9f9}.calendar-cell.is-today:hover{background:#fffde0}.calendar-session{background:var(--sport-color, #DDD);border-left:3px solid var(--sport-color-dark, #999);padding:6px 8px;border-radius:4px;font-size:11px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;cursor:pointer;transition:all .2s ease;overflow:hidden;position:relative}.calendar-session:hover{transform:translate(2px);box-shadow:0 2px 8px #00000026;z-index:10}.calendar-session.is-favorite{border-left-width:4px;box-shadow:0 1px 4px #ffd7004d}.calendar-sport-name{font-size:10px;font-weight:700;color:#fff;text-transform:uppercase;letter-spacing:.5px;margin-bottom:3px;display:flex;justify-content:space-between;align-items:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.calendar-favorite-star{color:gold;font-size:12px;line-height:1;flex-shrink:0;margin-left:4px;filter:drop-shadow(0 1px 2px rgba(0,0,0,.3))}.calendar-session-name{font-size:11px;font-weight:600;color:#000000e6;line-height:1.3;margin-bottom:3px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.calendar-session-code{font-size:9px;font-weight:600;color:#00000080;letter-spacing:.5px;text-transform:uppercase}.session-overflow{background:#666;color:#fff;padding:4px 8px;border-radius:3px;font-size:10px;font-weight:600;text-align:center;cursor:default;margin-top:2px}.calendar-session[title]:hover:after{content:attr(title);position:absolute;left:100%;top:0;background:#000000e6;color:#fff;padding:8px 12px;border-radius:4px;font-size:12px;white-space:nowrap;z-index:100;margin-left:8px;pointer-events:none;max-width:300px;white-space:normal;box-shadow:0 2px 8px #0003}@media (max-width: 1024px){.calendar-grid{min-width:800px}.calendar-grid-container{padding:12px}.calendar-session-name{font-size:10px}}@media (max-width: 768px){.calendar-header{padding:16px}.calendar-nav{flex-wrap:wrap;gap:8px}.calendar-nav-btn{flex:1;min-width:100px;padding:12px 16px}.calendar-week-range{font-size:16px}.calendar-grid-container{padding:8px}.calendar-grid{min-width:100%;grid-template-columns:60px 1fr;gap:2px}.calendar-day-header:not(:nth-child(2)),.calendar-cell:not(:nth-child(8n+2)){display:none}.calendar-time-slot{font-size:11px;padding:6px 8px}.calendar-cell{min-height:100px;padding:4px}.calendar-session{padding:8px}.calendar-session-name{font-size:12px;white-space:normal}.calendar-sport-icon{font-size:16px}.calendar-session[title]:hover:after{display:none}}@media (max-width: 480px){.calendar-nav-btn{font-size:12px;padding:10px 12px}.calendar-week-range{font-size:14px;margin-top:8px}.calendar-grid{grid-template-columns:50px 1fr}}.calendar-view.is-loading{opacity:.6;pointer-events:none}.calendar-view.is-loading:after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:40px;height:40px;border:4px solid #E0E0E0;border-top-color:#0055a4;border-radius:50%;animation:calendar-spin .8s linear infinite}@keyframes calendar-spin{to{transform:translate(-50%,-50%) rotate(360deg)}}@media print{.calendar-header{page-break-inside:avoid}.calendar-nav{display:none}.calendar-grid{page-break-inside:avoid}.calendar-session:hover{transform:none;box-shadow:none}}.venues-view{width:100%;background:#fff;border-radius:8px;padding:24px}.venues-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;padding-bottom:16px;border-bottom:2px solid #E0E0E0}.venues-header h2{font-size:28px;font-weight:700;color:#0055a4;margin:0}.venues-sort{padding:10px 16px;border:1px solid #DDD;border-radius:4px;font-size:14px;font-weight:500;background:#fff;cursor:pointer;color:#333;transition:all .2s ease}.venues-sort:hover{border-color:#0055a4}.venues-sort:focus{outline:none;border-color:#0055a4;box-shadow:0 0 0 3px #0055a41a}.venues-list{display:flex;flex-direction:column;gap:16px}.venue-card{background:#fff;border:1px solid #E0E0E0;border-radius:8px;overflow:hidden;transition:all .2s ease}.venue-card:hover{box-shadow:0 4px 12px #00000014;border-color:#0055a4}.venue-header{padding:20px;background:#f9f9f9;border-bottom:1px solid #E0E0E0}.venue-name{font-size:22px;font-weight:700;color:#333;margin:0 0 12px;display:flex;align-items:center;gap:8px}.venue-name .venue-icon{font-size:24px;color:#0055a4}.venue-stats{display:flex;flex-direction:column;gap:12px;margin-bottom:16px}.venue-session-count{display:inline-block;padding:6px 12px;background:#0055a4;color:#fff;border-radius:4px;font-size:14px;font-weight:600;width:fit-content}.venue-sports{display:flex;flex-wrap:wrap;gap:8px}.venue-sport-badge{display:inline-flex;align-items:center;gap:4px;padding:6px 12px;background:#fff;border:1px solid #E0E0E0;border-radius:16px;font-size:13px;color:#333;font-weight:500}.venue-toggle-btn{padding:10px 20px;background:#0055a4;color:#fff;border:none;border-radius:4px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease;width:100%}.venue-toggle-btn:hover{background:#003d7a;transform:translateY(-1px);box-shadow:0 2px 8px #0055a44d}.venue-toggle-btn:focus{outline:2px solid #0055A4;outline-offset:2px}.venue-sessions{max-height:0;overflow:hidden;transition:max-height .4s ease;background:#fff}.venue-sessions.is-visible{max-height:5000px;padding:20px;border-top:1px solid #E0E0E0}.venue-date-group{margin-bottom:24px}.venue-date-group:last-child{margin-bottom:0}.venue-date-header{font-size:16px;font-weight:700;color:#0055a4;margin:0 0 12px;padding-bottom:8px;border-bottom:2px solid #FFD700}.venue-session-list{display:flex;flex-direction:column;gap:8px}.venue-session-item{display:grid;grid-template-columns:auto 1fr 2fr auto;gap:16px;align-items:center;padding:12px 16px;background:#f9f9f9;border-left:3px solid #E0E0E0;border-radius:4px;cursor:pointer;transition:all .2s ease}.venue-session-item:hover{background:#f0f0f0;border-left-color:#0055a4;transform:translate(4px);box-shadow:0 2px 8px #00000014}.venue-session-item .session-time{font-size:14px;font-weight:600;color:#333;white-space:nowrap}.venue-session-item .session-sport{font-size:13px;font-weight:600;display:flex;align-items:center;gap:4px}.venue-session-item .session-event{font-size:14px;color:#333;line-height:1.4}.venue-session-item .session-favorite{background:none;border:none;font-size:20px;cursor:pointer;padding:4px;line-height:1;transition:transform .2s}.venue-session-item .session-favorite:hover{transform:scale(1.2)}.venue-session-item .session-favorite .favorite-icon:before{content:"\2606";color:#999}.venue-session-item .session-favorite.active .favorite-icon:before{content:"\2605";color:gold}.venue-card.is-expanded{box-shadow:0 4px 16px #0055a41f}.venue-card.is-expanded .venue-header{background:#f0f5fa}.venues-view .schedule-empty{text-align:center;padding:60px 20px;color:#666}@media (max-width: 1024px){.venue-session-item{grid-template-columns:auto 1fr auto;gap:12px}.venue-session-item .session-sport{grid-column:1 / -1}}@media (max-width: 768px){.venues-view{padding:16px}.venues-header{flex-direction:column;align-items:flex-start;gap:12px}.venues-header h2{font-size:24px}.venues-sort{width:100%}.venue-card{margin-bottom:12px}.venue-header{padding:16px}.venue-name{font-size:18px}.venue-sports{gap:6px}.venue-sport-badge{font-size:12px;padding:4px 10px}.venue-sessions.is-visible{padding:16px}.venue-date-header{font-size:14px}.venue-session-item{grid-template-columns:1fr;gap:8px;padding:12px}.venue-session-item .session-time{font-size:13px}.venue-session-item .session-sport{font-size:12px}.venue-session-item .session-event{font-size:13px}.venue-session-item .session-favorite{position:absolute;top:12px;right:12px}}@media (max-width: 480px){.venues-view{padding:12px}.venues-header h2{font-size:20px}.venue-name{font-size:16px}.venue-sport-badge{font-size:11px;padding:4px 8px}.venue-toggle-btn{font-size:13px;padding:8px 16px}}*:focus-visible{outline:3px solid #0055A4;outline-offset:2px}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,.session-card:focus-visible,.venue-card:focus-visible,.calendar-session:focus-visible{outline:3px solid #0055A4;outline-offset:2px}.filter-option:focus-within{outline:3px solid #0055A4;outline-offset:2px;background:#0055a40d;border-radius:4px}.venue-card:focus-within{outline:3px solid #0055A4;outline-offset:2px}.venue-session-item:focus{outline:3px solid #0055A4;outline-offset:2px;border-left-color:#0055a4}.schedule-tab:focus-visible{outline:3px solid #0055A4;outline-offset:2px;z-index:1}.filter-button:focus-visible,.filter-select:focus-visible{outline:3px solid #0055A4;outline-offset:2px}.filter-option input[type=checkbox]:focus-visible{outline:3px solid #0055A4;outline-offset:2px}.calendar-nav-btn:focus-visible{outline:3px solid #0055A4;outline-offset:2px;z-index:1}.visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-to-content{position:absolute;top:-40px;left:0;background:#0055a4;color:#fff;padding:8px 16px;text-decoration:none;z-index:100}.skip-to-content:focus{top:0}@media (prefers-reduced-motion: reduce){.venue-card,.venue-toggle-btn,.venue-session-item,.venue-sessions{transition-duration:.01ms!important}}@media (max-width: 768px){.schedule-tab,.filter-clear-button,.venue-toggle-btn,.detail-close,.calendar-nav-btn,.session-card-cta,.detail-action-btn{min-width:44px;min-height:44px;display:flex;align-items:center;justify-content:center}.filter-option{min-height:44px;padding:12px 16px;margin-bottom:24px;cursor:pointer;position:relative}.filter-option input[type=checkbox]{width:24px;height:24px;min-width:24px;min-height:24px;margin-right:12px;cursor:pointer;flex-shrink:0}.active-filter-remove{min-width:32px;min-height:32px;padding:8px;display:flex;align-items:center;justify-content:center}.schedule-tabs{gap:24px}.filter-options{padding:8px}.session-card{padding:20px;margin-bottom:24px}.session-card-header{gap:16px}.session-favorite{min-width:44px;min-height:44px;padding:12px;font-size:24px;display:flex;align-items:center;justify-content:center}.calendar-session .calendar-favorite-star{min-width:24px;min-height:24px;display:inline-flex;align-items:center;justify-content:center}}@media (min-width: 769px){.mobile-filters-btn,.filter-drawer-backdrop{display:none!important}}@media (max-width: 768px){.filter-drawer-header,.filter-apply-btn{display:flex!important}.mobile-filters-btn{position:fixed;bottom:20px;right:20px;width:56px;height:56px;border-radius:50%;background:#0055a4;color:#fff;border:none;box-shadow:0 4px 12px #0055a466;font-size:20px;cursor:pointer;z-index:998;display:flex;align-items:center;justify-content:center;transition:transform .2s ease,box-shadow .2s ease}.mobile-filters-btn:hover,.mobile-filters-btn:focus{transform:scale(1.1);box-shadow:0 6px 16px #0055a480}.mobile-filters-btn:active{transform:scale(.95)}.filter-count-badge{position:absolute;top:-4px;right:-4px;background:gold;color:#333;min-width:22px;height:22px;border-radius:11px;font-size:12px;font-weight:700;display:flex;align-items:center;justify-content:center;padding:0 6px;border:2px solid white}.filter-drawer-backdrop{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;opacity:0;pointer-events:none;transition:opacity .3s ease;z-index:999}.filter-drawer-backdrop.is-visible{opacity:1;pointer-events:auto}.schedule-filter-bar{position:fixed;bottom:-100%;left:0;right:0;background:#fff;border-top-left-radius:16px;border-top-right-radius:16px;box-shadow:0 -4px 20px #0003;transition:bottom .3s cubic-bezier(.4,0,.2,1);z-index:1000;max-height:85vh;overflow-y:auto;padding:24px 20px;display:flex;flex-direction:column;gap:20px}.schedule-filter-bar.is-open{bottom:0}.schedule-filter-bar:before{content:"";position:absolute;top:8px;left:50%;transform:translate(-50%);width:40px;height:4px;background:#ddd;border-radius:2px}.filter-drawer-header{display:flex;justify-content:space-between;align-items:center;padding-bottom:16px;border-bottom:2px solid #E0E0E0;margin-bottom:8px}.filter-drawer-title{font-size:20px;font-weight:700;color:#0055a4;margin:0}.filter-drawer-close{background:none;border:none;font-size:28px;color:#999;cursor:pointer;padding:0;width:44px;height:44px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:background .2s}.filter-drawer-close:hover{background:#f5f5f5;color:#333}.filter-apply-btn{position:sticky;bottom:0;left:0;right:0;width:100%;padding:16px 24px;background:#0055a4;color:#fff;border:none;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;margin-top:16px;box-shadow:0 -2px 8px #0000001a}.filter-apply-btn:active{background:#003d7a}}@media (max-width: 768px){.calendar-mobile-day-nav{display:flex;justify-content:space-between;align-items:center;padding:16px;background:#f5f5f5;margin-bottom:16px;border-radius:8px;gap:12px}.calendar-mobile-day-nav button{min-width:44px;min-height:44px;background:#fff;border:2px solid #0055A4;border-radius:8px;color:#0055a4;font-size:14px;font-weight:600;cursor:pointer;padding:8px 16px;transition:all .2s ease;flex-shrink:0}.calendar-mobile-day-nav button:hover:not(:disabled){background:#0055a4;color:#fff;transform:translateY(-2px);box-shadow:0 4px 8px #0055a433}.calendar-mobile-day-nav button:disabled{opacity:.4;cursor:not-allowed;border-color:#ccc;color:#999}.calendar-mobile-current-day{font-weight:700;text-align:center;color:#0055a4;font-size:16px;flex:1;line-height:1.4}.calendar-mobile-today-btn{min-width:44px;min-height:44px;background:gold;border:2px solid #FFD700;border-radius:8px;color:#333;font-size:13px;font-weight:700;cursor:pointer;padding:8px;transition:all .2s ease}.calendar-mobile-today-btn:hover{background:#ffc700;border-color:#ffc700;transform:translateY(-2px)}}@media (max-width: 768px){.calendar-view:has(.calendar-mobile-day-nav) .calendar-grid{grid-template-columns:60px 1fr}}@media (max-width: 768px){.detail-panel{width:100vw;max-width:100vw;height:100vh;border-radius:0}.detail-close{width:48px;height:48px;font-size:36px}.detail-actions{position:sticky;bottom:0;background:#fff;border-top:2px solid #E0E0E0;padding:20px;margin:0 -24px -24px;box-shadow:0 -4px 12px #00000014;z-index:10}.detail-action-btn{padding:16px 24px;font-size:16px;min-height:52px}}@media (max-width: 768px){.session-card{padding:20px;gap:16px}.session-card-header{margin-bottom:4px}.session-code{font-size:18px}.session-card-sport{margin-bottom:8px}.sport-icon{font-size:24px}.sport-name{font-size:16px}.session-card-event{font-size:15px;line-height:1.5;margin-bottom:8px}.session-card-time{gap:6px}.session-date{font-size:15px}.session-time{font-size:14px}.session-card-venue{font-size:14px;gap:8px}.session-card-cta{margin-top:12px;padding:14px 20px;font-size:15px;min-height:48px}}@media (max-width: 768px){.venue-card{width:100%}.venue-header{padding:20px}.venue-name{font-size:20px;margin-bottom:16px}.venue-name .venue-icon{font-size:28px}.venue-sports{gap:10px}.venue-sport-badge{padding:8px 14px;font-size:14px}.venue-toggle-btn{padding:16px 24px;font-size:16px;min-height:52px;margin-top:16px}.venue-session-item{padding:16px;gap:12px;position:relative}.venue-session-item .session-favorite{position:absolute;top:16px;right:16px}.venue-session-item .session-time{font-size:15px}.venue-session-item .session-sport{font-size:14px}.venue-session-item .session-event{font-size:15px;padding-right:48px}}@media (max-width: 768px){.schedule-header{position:sticky;top:0;background:#fff;z-index:100;padding:16px 12px;margin:-12px -12px 20px;box-shadow:0 2px 8px #0000000d}.schedule-header h1{font-size:22px;margin-bottom:4px}.schedule-subtitle{font-size:13px}.schedule-counter{font-size:13px;margin-bottom:16px}.schedule-tabs{overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none}.schedule-tabs::-webkit-scrollbar{display:none}.schedule-tab{white-space:nowrap;flex-shrink:0}}@supports (padding: env(safe-area-inset-bottom)){@media (max-width: 768px){.detail-panel{padding-bottom:env(safe-area-inset-bottom)}.detail-actions{padding-bottom:calc(20px + env(safe-area-inset-bottom))}.mobile-filters-btn{bottom:calc(20px + env(safe-area-inset-bottom))}.schedule-filter-bar.is-open{padding-bottom:calc(24px + env(safe-area-inset-bottom))}.schedule-page{padding-bottom:calc(20px + env(safe-area-inset-bottom))}}}@media (max-width: 768px){input[type=text],input[type=search],select,.filter-search,.filter-search-main{font-size:16px}.detail-panel,.schedule-filter-bar,.calendar-grid-container,.venues-list{-webkit-overflow-scrolling:touch}.detail-panel,.schedule-filter-bar{overscroll-behavior:contain}}@media (max-width: 768px){.schedule-tabs{touch-action:pan-x}.calendar-grid-container{touch-action:pan-x pan-y}.detail-panel,.schedule-filter-bar{touch-action:pan-y}.schedule-tab,.session-card,.venue-card,.calendar-session{-webkit-tap-highlight-color:rgba(0,85,164,.1);-webkit-user-select:none;user-select:none}.detail-content{-webkit-user-select:text;user-select:text}}.session-card:hover,.venue-card:hover{will-change:transform,box-shadow}.detail-panel.is-active,.schedule-filter-bar.is-open{will-change:transform,opacity}.detail-panel:not(.is-active),.schedule-filter-bar:not(.is-open){will-change:auto}@media (max-width: 768px){@media (prefers-reduced-motion: no-preference){.detail-panel.is-active,.schedule-filter-bar.is-open{will-change:transform,opacity}}}@media (min-width: 769px) and (max-width: 1024px){.session-grid{grid-template-columns:repeat(2,1fr);gap:20px}.calendar-grid{font-size:13px;min-width:750px}.calendar-session,.calendar-session-name{font-size:10px}.schedule-filter-bar{grid-template-columns:repeat(2,1fr);gap:16px}.venue-session-item{grid-template-columns:auto 1fr 2fr auto;gap:12px}.detail-panel{width:450px}}@media (max-width: 768px) and (orientation: landscape){.schedule-header{padding:12px 20px;margin-bottom:16px}.schedule-header h1{font-size:20px}.schedule-subtitle{font-size:12px}.detail-panel{height:100vh}.calendar-cell{min-height:70px;padding:4px}.calendar-session{padding:4px 6px;font-size:10px}.schedule-filter-bar.is-open{max-height:70vh}.schedule-tabs{gap:12px}.schedule-tab{padding:10px 16px;font-size:14px}.session-card,.venue-header{padding:16px}.venue-name{font-size:18px}}@media (max-width: 360px){.schedule-header h1{font-size:20px}.schedule-subtitle{font-size:12px}.session-card{padding:16px}.session-code{font-size:16px}.mobile-filters-btn{width:52px;height:52px;font-size:18px}.calendar-mobile-day-nav{padding:12px;gap:8px}.calendar-mobile-day-nav button{padding:8px 12px;font-size:13px}.calendar-mobile-current-day{font-size:14px}}@media (prefers-reduced-motion: reduce){.detail-panel,.schedule-filter-bar,.filter-drawer-backdrop,.mobile-filters-btn,.calendar-mobile-day-nav button,.detail-action-btn,.session-card,.venue-card{transition-duration:.01ms!important;animation-duration:.01ms!important}}@media (prefers-contrast: high){.mobile-filters-btn{border:2px solid white}.filter-count-badge{border:3px solid white}.session-card,.venue-card{border:2px solid #0055A4}}
/*# sourceMappingURL=/cdn/shop/t/24/assets/schedule.css.map */
