/* _content/AllGameTimes/Components/Layout/MainLayout.razor.rz.scp.css */
:root[b-g8x1or950k] {
    --topbar-h: 3.5rem;
    --panel-w: 240px;
}

/* Remove default browser margins globally (fixes white strip at the top) */
:global(html, body)[b-g8x1or950k] {
    margin: 0;
    padding: 0;
}

#app-layout[b-g8x1or950k] {
    position: relative;
    min-height: 100vh;
    display: flex;
    flex-direction: column;
}

/* Main content container */
.main-container[b-g8x1or950k] {
    display: flex;
    flex: 1;
    margin-top: 0; /* sticky top bar already takes space */
    box-sizing: border-box;
    padding-left: var(--panel-w); /* Reserve space for fixed side panel on desktop */
    transition: padding-left 0.3s ease;
}

/* Side panel positioning (global to reach the component) */
:global(.side-panel)[b-g8x1or950k] {
    position: fixed;
    top: var(--topbar-h);
    left: 0;
    height: calc(100vh - var(--topbar-h));
    width: var(--panel-w);
    z-index: 100;
    transition: transform 0.3s ease;
    transform: translateX(0); /* visible on desktop */
}

/* Panel visibility toggle */
:global(#app-layout:not(.sp-open) .side-panel)[b-g8x1or950k] {
    transform: translateX(-100%);
}

/* When panel is closed, expand content */
#app-layout:not(.sp-open) .main-container[b-g8x1or950k] {
    padding-left: 0;
}

/* Mobile layout */
@media (max-width: 1024px) {
    :global(.side-panel)[b-g8x1or950k] {
        transform: translateX(-100%); /* hidden by default */
    }

    :global(#app-layout.sp-open .side-panel)[b-g8x1or950k] {
        transform: translateX(0); /* overlay when toggled */
    }

    .main-container[b-g8x1or950k] {
        padding-left: 0; /* never reserve space on mobile */
    }
}

/* Error UI */
#blazor-error-ui[b-g8x1or950k] {
    background: #ffffe0;
    bottom: 0;
    box-shadow: 0 -2px 5px rgba(0, 0, 0, 0.1);
    display: none;
    left: 0;
    padding: 0.6rem 1.25rem;
    position: fixed;
    width: 100%;
    z-index: 1000;
}

#blazor-error-ui .dismiss[b-g8x1or950k] {
    cursor: pointer;
    position: absolute;
    right: 0.75rem;
    top: 0.5rem;
}
/* _content/AllGameTimes/Components/Layout/NavMenu.razor.rz.scp.css */
.navbar-toggler[b-wd8js9qu65] {
    appearance: none;
    cursor: pointer;
    width: 3.5rem;
    height: 2.5rem;
    color: white;
    position: absolute;
    top: 0.5rem;
    right: 1rem;
    border: 1px solid rgba(255, 255, 255, 0.1);
    background: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e") no-repeat center/1.75rem rgba(255, 255, 255, 0.1);
    z-index: 102; /* Ensure toggler is on top */
}

    .navbar-toggler:checked[b-wd8js9qu65] {
        background-color: rgba(255, 255, 255, 0.5);
    }

.top-row[b-wd8js9qu65] {
    height: 3.5rem;
    background-color: rgba(0,0,0,0.4);
}

.top-nav-bar[b-wd8js9qu65] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1.5rem;
    height: 3.5rem;
    background-color: #1a1a1a;
    color: white;
    padding: 0 1.5rem;
    border-bottom: 1px solid #333;
    position: sticky;
    top: 0;
    z-index: 101;
}

.navbar-brand[b-wd8js9qu65] {
    font-size: 2.4rem;
    font-weight: 600;
    color: white;
    text-decoration: none;
}

    .navbar-brand .brand-game[b-wd8js9qu65] {
        color: #ff6600;
    }

.nav-container[b-wd8js9qu65] {
    display: flex;
    align-items: center;
    position: relative;
}

/* Menu (desktop) */
.nav-menu[b-wd8js9qu65] {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 0.5rem;
}

/* Base link style with high specificity to beat global a{} */
.top-nav-bar .nav-menu a.nav-link[b-wd8js9qu65] {
    color: #d7d7d7;
    background: none;
    border: 2px solid transparent;
    border-radius: 6px;
    height: 2.5rem;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0 1rem;
    transition: all 0.2s ease-in-out;
    text-decoration: none;
    font-size: 0.9rem;
    font-weight: 600;
    text-transform: uppercase;
}

.top-nav-bar .nav-menu a.nav-link:hover[b-wd8js9qu65] {
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.4);
}

    /* Sport themes (high specificity) */
    /* NCAA (NCAAF/NCAAB): primary #0032A0, secondary #FFFFFF */
    .top-nav-bar .nav-menu a.nav-link.ncaaf-link[b-wd8js9qu65] {
        background: #0032A0;
        border-color: #FFFFFF;
        color: #FFFFFF;
        text-shadow: 0 0 2px rgba(0,0,0,.6);
    }

    .top-nav-bar .nav-menu a.nav-link.ncaab-link[b-wd8js9qu65] {
        background: #0032A0;
        border-color: #FFFFFF;
        color: #FFFFFF;
        text-shadow: 0 0 2px rgba(0,0,0,.6);
    }

    /* NFL: primary #013369, secondary #D50A0A */
    .top-nav-bar .nav-menu a.nav-link.nfl-link[b-wd8js9qu65] {
        background: #013369;
        border-color: #FFFFFF;
        color: #D50A0A;
        text-shadow: 0 0 2px rgba(0,0,0,.6);
    }

    /* NBA: primary #006BB6, secondary #ED174C */
    .top-nav-bar .nav-menu a.nav-link.nba-link[b-wd8js9qu65] {
        background: #006BB6;
        border-color: #FFFFFF;
        color: #ED174C;
        text-shadow: 0 0 2px rgba(0,0,0,.6);
    }

    /* MLB: primary #041E42, secondary #BF0D3E */
    .top-nav-bar .nav-menu a.nav-link.mlb-link[b-wd8js9qu65] {
        background: #041E42;
        border-color: #FFFFFF;
        color: #BF0D3E;
        text-shadow: 0 0 2px rgba(0,0,0,.6);
    }
/* Checkbox (visually hidden, still accessible) */
.navbar-toggler[b-wd8js9qu65] {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    border: 0;
}

/* Hamburger icon label */
.navbar-toggler-label[b-wd8js9qu65] { display: none; width: 2rem; height: 1.25rem; position: relative; cursor: pointer; }
.navbar-toggler-label .bar[b-wd8js9qu65],
.navbar-toggler-label .bar[b-wd8js9qu65]::before,
.navbar-toggler-label .bar[b-wd8js9qu65]::after {
    position: absolute; left: 0; right: 0; height: 3px; background: #fff; border-radius: 2px; content: "";
}
.navbar-toggler-label .bar[b-wd8js9qu65] { top: 50%; transform: translateY(-50%); }
.navbar-toggler-label .bar[b-wd8js9qu65]::before { top: -8px; }
.navbar-toggler-label .bar[b-wd8js9qu65]::after  { top: 8px; }

/* Mobile layout */
@media (max-width: 768px) {
    .navbar-toggler-label[b-wd8js9qu65] { display: block; }
    .nav-menu[b-wd8js9qu65] {
        display: none;
        position: absolute;
        top: 3.5rem;
        right: 0;
        left: 0;
        flex-direction: column;
        align-items: stretch;
        background-color: #1a1a2e;
        border-top: 1px solid #333;
        padding: 0.5rem 0;
        z-index: 100; /* below the top bar */
    }
    /* Toggle the menu */
    #navbar-toggle:checked ~ .navbar-toggler-label .bar[b-wd8js9qu65] { background: transparent; }
    #navbar-toggle:checked ~ .navbar-toggler-label .bar[b-wd8js9qu65]::before { transform: rotate(45deg); top: 0; }
    #navbar-toggle:checked ~ .navbar-toggler-label .bar[b-wd8js9qu65]::after  { transform: rotate(-45deg); top: 0; }
    #navbar-toggle:checked ~ .nav-menu[b-wd8js9qu65] { display: flex; }

    .top-nav-bar .nav-menu a.nav-link[b-wd8js9qu65] {
        width: 100%;
        border-radius: 0;
        border-left: none;
        border-right: none;
        justify-content: flex-start;
        padding: 0 1.5rem;
    }
}

/* Side panel toggle button (show on mobile only) */
.panel-toggle[b-wd8js9qu65] {
    display: inline-flex;
    background: transparent;
    border: 1px solid rgba(255,255,255,0.18);
    color: white;
    width: 2rem;
    height: 2rem;
    border-radius: 6px;
    align-items: center;
    justify-content: center;
    margin-right: 0.5rem;
}

.panel-toggle .panel-icon[b-wd8js9qu65] {
    display: inline-block;
    width: 1.1rem;
    height: 1.1rem;
    background:
        linear-gradient(#fff,#fff) left/3px 100% no-repeat,
        linear-gradient(#fff,#fff) 6px 0/3px 100% no-repeat,
        linear-gradient(#fff,#fff) right/3px 100% no-repeat;
    opacity: 0.85;
}

/* Hide the toggle on desktop; panel is always visible there */
@media (min-width: 1025px) {
    .panel-toggle[b-wd8js9qu65] { display: none; }
}

/* Light theme overrides for top nav bar */
:global(.light-theme) .top-row[b-wd8js9qu65] { background-color: rgba(255,255,255,0.6); }
:global(.light-theme) .top-nav-bar[b-wd8js9qu65] {
    background-color: #ffffff;
    color: #202124;
    border-bottom: 1px solid #e5e5e5;
}
:global(.light-theme) .top-nav-bar .nav-menu a.nav-link[b-wd8js9qu65] {
    color: #202124;
    box-shadow: none;
}
:global(.light-theme) .panel-toggle[b-wd8js9qu65] {
    border-color: rgba(0,0,0,0.15);
}
:global(.light-theme) .panel-toggle .panel-icon[b-wd8js9qu65] {
    background:
      linear-gradient(#333,#333) left/3px 100% no-repeat,
      linear-gradient(#333,#333) 6px 0/3px 100% no-repeat,
      linear-gradient(#333,#333) right/3px 100% no-repeat;
    opacity: 0.85;
}
/* _content/AllGameTimes/Components/Layout/SidePanel.razor.rz.scp.css */
:root[b-gnq9163dzr] {
    --topbar-h: 3.5rem;
    --panel-w: 240px;
}

/* Desktop: sticky, full height under the top bar on the LEFT */
.side-panel[b-gnq9163dzr] {
    position: fixed;
    top: var(--topbar-h);
    left: 0;
    height: calc(100vh - var(--topbar-h));
    width: var(--panel-w);
    background: var(--surface-bg, #1a1a1a);
    border-right: 1px solid var(--border-color, #333);
    z-index: 100;
    overflow-y: auto;
    transform: translateX(-100%);
    transition: transform 0.3s ease;
}

/* Show panel when app has sp-open class */
:global(#app-layout.sp-open) .side-panel[b-gnq9163dzr] {
    transform: translateX(0);
}

/* Desktop layout */
@media (min-width: 1025px) {
    .side-panel[b-gnq9163dzr] {
        transform: translateX(0); /* Always visible on desktop */
    }
}

/* Show "open panel" button on mobile when panel is closed */
.show-panel-btn[b-gnq9163dzr] {
    position: fixed;
    top: calc(var(--topbar-h) + 10px);
    left: 0;
    width: 28px;
    height: 40px;
    background: var(--accent-orange, #ff4500);
    border: none;
    border-radius: 0 4px 4px 0;
    cursor: pointer;
    z-index: 99;
    color: white;
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.3s ease;
}

:global(#app-layout:not(.sp-open)) .show-panel-btn[b-gnq9163dzr] {
    opacity: 1;
    pointer-events: auto;
}

/* Always show panel on desktop */
@media (min-width: 1025px) {
    .side-panel[b-gnq9163dzr] {
        transform: translateX(0);
    }
}

/* Show "open panel" button on mobile when panel is closed */
.show-panel-btn[b-gnq9163dzr] {
    position: fixed;
    top: calc(var(--topbar-h) + 10px);
    left: 0;
    width: 28px;
    height: 40px;
    background: var(--accent-orange, #ff4500);
    border: none;
    border-radius: 0 4px 4px 0;
    cursor: pointer;
    z-index: 99;
    color: white;
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.3s ease;
}

:global(#app-layout:not(.sp-open)) .show-panel-btn[b-gnq9163dzr] {
    opacity: 1;
    pointer-events: auto;
}

/* Panel content styles */
.panel-content[b-gnq9163dzr] {
    padding: 1rem 0;
}

.panel-header[b-gnq9163dzr] {
    padding: 0 1rem 1rem;
    border-bottom: 1px solid var(--border-color, #333);
    margin-bottom: 1rem;
}

.panel-title[b-gnq9163dzr] {
    font-weight: 600;
    font-size: 1.1rem;
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 0.5rem;
}

.panel-actions[b-gnq9163dzr] {
    display: flex;
    align-items: center;
}

.panel-subtitle[b-gnq9163dzr] {
    font-size: 0.8rem;
    color: var(--text-muted, #999);
}

.search-box[b-gnq9163dzr] {
    padding: 0 1rem;
    margin-bottom: 0.75rem;
}

.search-input[b-gnq9163dzr] {
    width: 100%;
    background-color: var(--surface-bg, #1a1a1a);
    border: 1px solid var(--border-color, #333);
    border-radius: 6px;
    color: var(--text-primary, #fff);
    padding: 0.5rem;
    font-size: 0.85rem;
}

.search-input:focus[b-gnq9163dzr] {
    outline: 2px solid var(--accent-blue, #007acc);
    border-color: var(--accent-blue, #007acc);
}

/* Team lists */
.panel-section[b-gnq9163dzr] {
    padding-bottom: 1rem;
    margin-bottom: 1rem;
    border-bottom: 1px solid var(--border-color, #333);
}

.section-header[b-gnq9163dzr] {
    display: flex;
    justify-content: space-between;
    padding: 0 1rem;
    margin-bottom: 0.5rem;
    font-weight: 600;
    font-size: 0.9rem;
}

.section-meta[b-gnq9163dzr] {
    font-size: 0.7rem;
    color: var(--text-muted, #999);
}

.team-list[b-gnq9163dzr] {
    list-style: none;
    padding: 0;
    margin: 0;
}

.team-link[b-gnq9163dzr] {
    display: flex;
    align-items: center;
    padding: 0.4rem 1rem;
    color: var(--text-primary, #fff);
    text-decoration: none;
    font-size: 0.9rem;
    transition: background-color 0.2s;
}

.team-link:hover[b-gnq9163dzr] {
    background-color: var(--hover-bg, #2a2a2a);
}

.color-dot[b-gnq9163dzr] {
    width: 10px;
    height: 10px;
    border-radius: 50%;
    margin-right: 0.5rem;
}

.team-name[b-gnq9163dzr] {
    flex-grow: 1;
    display: flex;
    align-items: center;
    gap: 0.3rem;
}

.rank-badge[b-gnq9163dzr] {
    font-size: 0.7rem;
    background: var(--hover-bg, #2a2a2a);
    padding: 0.15rem 0.3rem;
    border-radius: 4px;
}

.conf-chip[b-gnq9163dzr] {
    font-size: 0.7rem;
    background: var(--hover-bg, #2a2a2a);
    padding: 0.15rem 0.3rem;
    border-radius: 4px;
    color: var(--text-muted, #999);
    margin-left: 0.5rem;
}

.status-dot[b-gnq9163dzr] {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background-color: var(--accent-orange, #ff4500);
    margin-left: 0.5rem;
}

.empty-hint[b-gnq9163dzr] {
    padding: 1rem;
    text-align: center;
    font-size: 0.85rem;
    color: var(--text-muted, #999);
}

/* Small screens: panel overlays full width */
@media (max-width: 420px) {
    .side-panel[b-gnq9163dzr] { width: 100vw; }
}

/* Light theme overrides for SidePanel */
:global(.light-theme) .side-panel[b-gnq9163dzr] {
    background: rgba(255,255,255,0.9);
    color: #222;
    border-right: 1px solid #e5e5e5;
}

:global(.light-theme) .panel-header[b-gnq9163dzr] { background: rgba(255,255,255,0.5); border-bottom-color: #e5e5e5; }
:global(.light-theme) .panel-title[b-gnq9163dzr] { color: #202124; }
:global(.light-theme) .panel-subtitle[b-gnq9163dzr] { color: #5f6368; }

:global(.light-theme) .panel-filters[b-gnq9163dzr] { background: rgba(0,0,0,0.03); border-bottom-color: #e5e5e5; }
:global(.light-theme) .search-box[b-gnq9163dzr],
:global(.light-theme) .conference-filter select[b-gnq9163dzr] {
    background: #fff;
    color: #202124;
    border-color: #e0e0e0;
}

:global(.light-theme) .section-header[b-gnq9163dzr] {
    background: rgba(255,255,255,0.95);
    color: #202124;
    border-bottom-color: #e5e5e5;
}

:global(.light-theme) .team-link[b-gnq9163dzr] {
    color: #202124;
    border-color: #e5e5e5;
    background: transparent;
}
:global(.light-theme) .team-link:hover[b-gnq9163dzr] {
    background: rgba(0,0,0,0.04);
    border-color: #dadce0;
}
:global(.light-theme) .rank-badge[b-gnq9163dzr] { color: #b8860b; }
:global(.light-theme) .conf-chip[b-gnq9163dzr] {
    background: #eef3f8;
    color: #1f2937;
    border-color: #d5e3f0;
}
:global(.light-theme) .empty-hint[b-gnq9163dzr] { color: #5f6368; }
/* _content/AllGameTimes/Components/Pages/Home.razor.rz.scp.css */
/* Home.razor.css */

/* REMOVE THIS BLOCK
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}
*/

:root[b-yx2wvzjw42] {
    /* Color Palette & Themes */
    --accent-orange: #ff4500;
    --accent-blue: #007acc;
    --font-primary: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    /* Transitions */
    --transition-fast: 200ms cubic-bezier(0.4, 0, 0.2, 1);
    --transition-base: 300ms cubic-bezier(0.4, 0, 0.2, 1);
}

/* --- Light Theme --- */
.light-theme[b-yx2wvzjw42] {
    --bg-primary: #e9ecef;
    --bg-gradient: linear-gradient(135deg, #e9ecef 0%, #dde2f1 50%, #d8e6f3 100%);
    --text-primary: #212529;
    --text-muted: #495057;
    --border-color: #ced4da;
    --glass-bg: rgba(248, 249, 250, 0.85);
    --surface-bg: #f8f9fa;
    --hover-bg: #dee2e6;
    --live-bg: #d90429;
    --live-shadow: rgba(217, 4, 41, 0.4);
    --live-shadow-pulse: rgba(217, 4, 41, 0.6);
    --anchor-glow: rgba(217, 4, 41, 0.75); /* stronger red for light theme */
}

/* --- Dark Theme --- */
.dark-theme[b-yx2wvzjw42] {
    --bg-primary: #0a0a0a;
    --bg-gradient: linear-gradient(135deg, #0a0a0a 0%, #1a1a2e 50%, #16213e 100%);
    --text-primary: #ffffff;
    --text-muted: #999999;
    --border-color: #333333;
    --glass-bg: rgba(26, 26, 26, 0.8);
    --surface-bg: #1a1a1a;
    --hover-bg: #2a2a2a;
    --live-bg: var(--accent-orange);
    --live-shadow: rgba(255, 69, 0, 0.3);
    --live-shadow-pulse: rgba(255, 69, 0, 0.5);
    --anchor-glow: rgba(255, 69, 0, 0.75); /* stronger orange for dark theme */
}

/* --- Base Page Style --- */
.schedule-page[b-yx2wvzjw42] {
    font-family: var(--font-primary);
    line-height: 1.5;
    background: var(--bg-gradient);
    color: var(--text-primary);
    transition: background var(--transition-base), color var(--transition-base);
    min-height: 100vh;
    /* The padding-top here is good, it prevents content from hiding under the sticky header */
    padding-top: 0.5rem; 
}

/* --- Header --- */
.page-header[b-yx2wvzjw42] {
    background: var(--glass-bg);
    backdrop-filter: blur(20px);
    border: 1px solid var(--border-color);
    border-radius: 16px;
    margin: 0 1.5rem 0.5rem; /* remove top margin; keep side and bottom spacing */
    padding: 0.75rem 1rem;
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: 1rem;
}

.header-brand[b-yx2wvzjw42] {
    display: flex;
    align-items: center;
    gap: 0.8rem;
}

.brand-icon[b-yx2wvzjw42] {
    width: 40px;
    height: 40px;
    background: linear-gradient(135deg, var(--accent-orange), var(--accent-blue));
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: white;
    font-size: 1.3rem;
    font-weight: bold;
}

.page-title[b-yx2wvzjw42] {
    font-size: 1.5rem;
    font-weight: 700;
    letter-spacing: -0.025em;
    color: var(--text-primary);
}

.page-subtitle[b-yx2wvzjw42] {
    color: var(--text-muted);
    font-size: 0.8rem;
    font-weight: 500;
}

.header-controls[b-yx2wvzjw42] {
    display: flex;
    align-items: center;
    gap: 1rem;
    flex-wrap: wrap;
}

.week-nav[b-yx2wvzjw42], .timezone-chips[b-yx2wvzjw42] {
    display: flex;
    background: var(--surface-bg);
    border: 1px solid var(--border-color);
    border-radius: 10px;
    overflow: hidden;
}

.btn-nav[b-yx2wvzjw42], .btn-chip[b-yx2wvzjw42] {
    background: transparent;
    border: none;
    color: var(--text-primary);
    cursor: pointer;
    font-weight: 500;
    display: flex;
    align-items: center;
    gap: 0.4rem;
    transition: background-color var(--transition-fast);
}

.btn-nav[b-yx2wvzjw42] {
    padding: 0.6rem 0.9rem;
    font-size: 0.8rem;
    border-right: 1px solid var(--border-color);
}

    .btn-nav:last-child[b-yx2wvzjw42] {
        border-right: none;
    }

    .btn-nav:hover[b-yx2wvzjw42], .btn-chip:hover[b-yx2wvzjw42] {
        background: var(--hover-bg);
    }

    .btn-nav.active[b-yx2wvzjw42] {
        background: linear-gradient(135deg, var(--accent-orange), var(--accent-blue));
        color: white;
    }

.timezone-selector[b-yx2wvzjw42] {
    display: flex;
    align-items: center;
    gap: 0.6rem;
}

.timezone-label[b-yx2wvzjw42] {
    font-size: 0.8rem;
    font-weight: 500;
    color: var(--text-muted);
    display: flex;
    align-items: center;
    gap: 0.4rem;
}

.btn-chip[b-yx2wvzjw42] {
    padding: 0.4rem 0.6rem;
    border-radius: 8px;
    font-size: 0.75rem;
}

    .btn-chip.active[b-yx2wvzjw42] {
        background: var(--accent-orange);
        border-color: var(--accent-orange);
        color: white;
    }

.theme-toggle[b-yx2wvzjw42] {
    background: var(--surface-bg);
    border: 1px solid var(--border-color);
    color: var(--text-primary);
    width: 36px;
    height: 36px;
    border-radius: 8px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all var(--transition-fast);
}

    .theme-toggle:hover[b-yx2wvzjw42] {
        background: var(--hover-bg);
        border-color: var(--accent-orange);
    }

.btn-toggle-section[b-yx2wvzjw42] {
    background: var(--surface-bg);
    border: 1px solid var(--border-color);
    color: var(--text-primary);
    border-radius: 8px;
    padding: 0.25rem 0.45rem;
    margin-left: 0.4rem;
    cursor: pointer;
}

    .btn-toggle-section:hover[b-yx2wvzjw42] { background: var(--hover-bg); }

/* --- Filter Section --- */
.filter-area[b-yx2wvzjw42] {
    background: var(--glass-bg);
    backdrop-filter: blur(10px);
    margin: 0.5rem 1.5rem;
    border-radius: 10px;
    border: 1px solid var(--border-color);
    overflow: hidden;
    padding: 0.5rem;
}

.filter-panel-grid[b-yx2wvzjw42] {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0.75rem;
}

.filter-column[b-yx2wvzjw42] {
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
}

.filter-options-header[b-yx2wvzjw42] {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding-bottom: 0.4rem;
}

.filter-options-title[b-yx2wvzjw42] {
    font-size: 0.8rem;
    font-weight: 600;
    color: var(--text-primary);
    display: flex;
    align-items: center;
    gap: 0.4rem;
}

.btn-clear-filter[b-yx2wvzjw42] {
    background: rgba(255, 69, 0, 0.1);
    border: 1px solid rgba(255, 69, 0, 0.3);
    color: var(--accent-orange);
    padding: 0.2rem 0.4rem;
    border-radius: 5px;
    cursor: pointer;
    font-size: 0.65rem;
    font-weight: 500;
    display: flex;
    align-items: center;
    gap: 0.25rem;
    transition: all var(--transition-fast);
}

    .btn-clear-filter:hover[b-yx2wvzjw42] {
        background: rgba(255, 69, 0, 0.2);
    }

.filter-grid[b-yx2wvzjw42] {
    display: flex;
    flex-wrap: wrap;
    gap: 0.3rem;
}

.filter-card[b-yx2wvzjw42] {
    border: 1px solid transparent;
    border-radius: 5px;
    padding: 0.25rem 0.5rem;
    cursor: pointer;
    transition: all var(--transition-fast);
    display: flex;
    align-items: center;
    font-size: 0.7rem;
    font-weight: 500;
}

.filter-card-name[b-yx2wvzjw42] {
    margin-right: 0.3rem;
}

.filter-card:hover[b-yx2wvzjw42] {
    transform: translateY(-1px);
    box-shadow: 0 2px 8px rgba(0,0,0,0.1);
}

.filter-card.active[b-yx2wvzjw42] {
    border-color: var(--accent-orange);
    box-shadow: inset 0 0 0 1px var(--surface-bg);
}

.filter-card-check-icon[b-yx2wvzjw42] {
    opacity: 0;
    transform: scale(0.8);
    transition: all var(--transition-fast);
}

.filter-card.active .filter-card-check-icon[b-yx2wvzjw42] {
    opacity: 1;
    transform: scale(1);
}

/* --- Main Content & Grid --- */
.main-content[b-yx2wvzjw42] {
    padding: 0 1.5rem 1.5rem;
}

.schedule-grid[b-yx2wvzjw42], .no-games-state[b-yx2wvzjw42], .mobile-schedule-list[b-yx2wvzjw42] {
    display: grid;
    gap: 1.5rem;
}

.day-card[b-yx2wvzjw42] {
    background: var(--glass-bg);
    backdrop-filter: blur(15px);
    border: 1px solid var(--border-color);
    border-radius: 16px;
    overflow: hidden;
    transition: all var(--transition-base);
}

    .day-card:hover[b-yx2wvzjw42] {
        border-color: var(--accent-orange);
        box-shadow: 0 10px 40px rgba(255, 69, 0, 0.1);
    }

.day-header[b-yx2wvzjw42] {
    background: var(--surface-bg);
    padding: 1rem 1.25rem;
    display: flex;
    justify-content: space-between;
    align-items: center;
    border-bottom: 1px solid var(--border-color);
}

.day-title[b-yx2wvzjw42] {
    font-size: 1.25rem;
    font-weight: 700;
    color: var(--text-primary);
}

.day-controls[b-yx2wvzjw42] {
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.btn-toggle-day[b-yx2wvzjw42] {
    background: var(--surface-bg);
    border: 1px solid var(--border-color);
    color: var(--text-primary);
    border-radius: 8px;
    padding: 0.25rem 0.45rem;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
}

.btn-toggle-day:hover[b-yx2wvzjw42] { background: var(--hover-bg); }

.games-count[b-yx2wvzjw42] {
    background: var(--hover-bg);
    padding: 0.3rem 0.7rem;
    border-radius: 20px;
    font-size: 0.75rem;
    font-weight: 500;
    color: var(--text-muted);
}

.schedule-viewport[b-yx2wvzjw42] {
    overflow-x: hidden; /* Hide scrollbar on viewport */
}

.schedule-table-container[b-yx2wvzjw42] {
    overflow-x: auto; /* Allow scrolling on the container */
    scrollbar-width: thin;
    scrollbar-color: var(--accent-orange) var(--surface-bg);
}

    .schedule-table-container[b-yx2wvzjw42]::-webkit-scrollbar {
        height: 8px;
    }

    .schedule-table-container[b-yx2wvzjw42]::-webkit-scrollbar-track {
        background: var(--surface-bg);
    }

    .schedule-table-container[b-yx2wvzjw42]::-webkit-scrollbar-thumb {
        background: var(--accent-orange);
        border-radius: 4px;
    }

.schedule-table[b-yx2wvzjw42] {
    width: 100%;
    border-collapse: collapse;
    table-layout: fixed; /* Important for scaling */
}

.table-header th[b-yx2wvzjw42] {
    background: var(--hover-bg);
    color: var(--text-primary);
    padding: 0.75rem 0.5rem;
    text-align: center;
    font-weight: 600;
    font-size: 0.7rem;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    border-bottom: 1px solid var(--border-color);
    position: sticky;
    top: 0;
    z-index: 2;
    white-space: nowrap;
}

.station-header[b-yx2wvzjw42] {
    width: 140px; /* Fixed width for station column */
    position: sticky;
    left: 0;
    z-index: 3;
    border-right: 1px solid var(--border-color);
}

.station-cell[b-yx2wvzjw42] {
    background: var(--surface-bg);
    padding: 0.35rem 0.75rem;
    text-align: center;
    font-weight: 600;
    font-size: 0.8rem;
    color: var(--text-primary);
    position: sticky;
    left: 0;
    z-index: 1;
    border-right: 1px solid var(--border-color);
    border-bottom: 1px solid var(--border-color);
    width: 140px; /* Match header width */
}

.game-cell[b-yx2wvzjw42], .empty-cell[b-yx2wvzjw42] {
    border-bottom: 1px solid var(--border-color);
    height: 30px;
    padding: 0.2rem 0.3rem;
}

/* Game Card */
.game-card[b-yx2wvzjw42] {
    border-radius: 8px;
    overflow: hidden;
    position: relative;
    height: 100%;
    cursor: pointer;
    transition: all var(--transition-fast);
    display: flex;
    align-items: center;
    justify-content: center;
}

    .game-card:hover[b-yx2wvzjw42] {
        transform: scale(1.05);
        box-shadow: 0 4px 20px rgba(0,0,0,0.2);
        z-index: 10;
    }

    .game-card.is-live[b-yx2wvzjw42] {
        border: 2px solid var(--live-bg);
        box-shadow: 0 0 15px var(--live-shadow);
        animation: livePulse-b-yx2wvzjw42 2s ease-in-out infinite;
    }

    .game-card.is-completed .game-background[b-yx2wvzjw42] {
        filter: grayscale(80%);
        opacity: 0.4;
    }

    .game-card.is-completed .team-matchup[b-yx2wvzjw42] {
        opacity: 0.7;
    }

    /* Highlight the targeted matchup for 3 pulses over 3 seconds */
    @keyframes anchorGlow-b-yx2wvzjw42 {
        0%, 100% {
            box-shadow:
                0 0 0 0 var(--anchor-glow);
        }
        50% {
            box-shadow:
                0 0 36px 8px var(--anchor-glow),
                0 0 8px 2px var(--anchor-glow) inset;
        }
    }

    .game-card.anchor-highlight[b-yx2wvzjw42],
    .mobile-game-card.anchor-highlight[b-yx2wvzjw42] {
        animation: anchorGlow-b-yx2wvzjw42 1s ease-in-out 3;
        outline: 2px solid var(--anchor-glow);
        outline-offset: 2px;
        filter: saturate(1.1);
        position: relative;
        z-index: 12;
    }

@keyframes livePulse-b-yx2wvzjw42 {
    0%, 100% {
        box-shadow: 0 0 15px var(--live-shadow);
    }

    50% {
        box-shadow: 0 0 25px var(--live-shadow-pulse);
    }
}

.game-background[b-yx2wvzjw42] {
    position: absolute;
    inset: 0;
    z-index: 1;
    background-image:
    /* Metallic sheen */
    linear-gradient(160deg, rgba(255, 255, 255, 0.2) 0%, rgba(255, 255, 255, 0) 35%),
    /* Geometric swirl */
    radial-gradient(circle at 100% 100%, rgba(255, 255, 255, 0.15), transparent 25%), radial-gradient(circle at 0% 0%, rgba(255, 255, 255, 0.15), transparent 25%),
    /* Team colors */
    linear-gradient(135deg, var(--away-color) 0%, var(--away-color) 48%, var(--home-color) 52%, var(--home-color) 100%);
    opacity: 0.8;
    transition: filter var(--transition-base), opacity var(--transition-base);
}

.dark-theme .game-background[b-yx2wvzjw42] {
    opacity: 0.6;
}

.game-content[b-yx2wvzjw42] {
    position: relative;
    z-index: 2;
    padding: 0.25rem;
    width: 100%;
}

.team-matchup[b-yx2wvzjw42] {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.35rem;
    font-weight: 600;
    font-size: 0.8rem;
    text-shadow: 0 1px 3px rgba(0,0,0,0.4);
    transition: opacity var(--transition-base);
}

.team-name[b-yx2wvzjw42] {
    color: inherit;
}

.vs-indicator[b-yx2wvzjw42] {
    color: var(--text-muted);
    font-weight: 400;
    font-size: 0.7rem;
}

.live-indicator[b-yx2wvzjw42] {
    position: absolute;
    top: 4px;
    right: 4px;
    background: var(--live-bg);
    color: white;
    padding: 0.15rem 0.4rem;
    border-radius: 4px;
    font-size: 0.6rem;
    font-weight: 700;
    text-transform: uppercase;
    display: flex;
    align-items: center;
    gap: 0.25rem;
    z-index: 3;
}

.live-dot[b-yx2wvzjw42] {
    width: 5px;
    height: 5px;
    background: white;
    border-radius: 50%;
    animation: blink-b-yx2wvzjw42 1.5s infinite;
}

@keyframes blink-b-yx2wvzjw42 {
    0%, 100% {
        opacity: 1;
    }

    50% {
        opacity: 0;
    }
}

/* No Games State */
.no-games-state[b-yx2wvzjw42] {
    text-align: center;
    padding: 3rem 2rem;
    color: var(--text-muted);
    background: var(--surface-bg);
    border-radius: 16px;
    border: 1px solid var(--border-color);
}

.no-games-icon[b-yx2wvzjw42] {
    font-size: 3rem;
    margin-bottom: 1rem;
    opacity: 0.5;
}

.no-games-title[b-yx2wvzjw42] {
    font-size: 1.5rem;
    font-weight: 600;
    margin-bottom: 0.5rem;
    color: var(--text-primary);
}

.no-games-message[b-yx2wvzjw42] {
    max-width: 400px;
    margin: 0 auto;
}

.btn-reset-filters[b-yx2wvzjw42] {
    background: linear-gradient(135deg, var(--accent-orange), var(--accent-blue));
    border: none;
    color: white;
    padding: 0.75rem 1.5rem;
    border-radius: 10px;
    cursor: pointer;
    font-weight: 600;
    font-size: 0.9rem;
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    transition: all var(--transition-fast);
    margin-top: 1rem;
}

    .btn-reset-filters:hover[b-yx2wvzjw42] {
        transform: translateY(-1px);
        box-shadow: 0 4px 15px rgba(255, 69, 0, 0.3);
    }

/* --- Search and Rank Section --- */
.search-input[b-yx2wvzjw42] {
    background: var(--surface-bg);
    color: var(--text-primary);
    border: 1px solid var(--border-color);
    border-radius: 8px;
    padding: 0.5rem 0.75rem;
    font-size: 1rem;
    transition: background var(--transition-fast), color var(--transition-fast), border-color var(--transition-fast);
}

.search-input[b-yx2wvzjw42]::placeholder {
    color: var(--text-muted);
    opacity: 1;
}

.rank-badge[b-yx2wvzjw42] {
    display: inline-block;
    min-width: 2em;
    text-align: center;
    font-weight: 700;
    font-size: 0.95em;
    background: var(--accent-orange);
    color: #fff;
    border-radius: 6px;
    margin-right: 0.4em;
    padding: 0.1em 0.5em;
    vertical-align: middle;
    transition: background var(--transition-fast), color var(--transition-fast);
}

/* Light theme adjustments */
.light-theme .search-input[b-yx2wvzjw42] {
    background: var(--surface-bg);
    color: var(--text-primary);
    border-color: var(--border-color);
}

.light-theme .search-input[b-yx2wvzjw42]::placeholder {
    color: var(--text-muted);
}

.light-theme .rank-badge[b-yx2wvzjw42] {
    background: var(--accent-orange);
    color: #fff;
}

/* Dark theme adjustments */
.dark-theme .search-input[b-yx2wvzjw42] {
    background: var(--surface-bg);
    color: var(--text-primary);
    border-color: var(--border-color);
}

.dark-theme .search-input[b-yx2wvzjw42]::placeholder {
    color: var(--text-muted);
}

.dark-theme .rank-badge[b-yx2wvzjw42] {
    background: var(--accent-orange);
    color: #fff;
}

/* --- Responsive Design --- */

/* Hide mobile list by default */
.mobile-schedule-list[b-yx2wvzjw42] {
    display: none;
}

/* Mobile View */
@media (max-width: 768px) {
    .page-header[b-yx2wvzjw42] {
        flex-direction: column;
        align-items: flex-start;
        padding: 0.75rem;
        margin: 0 0.75rem 0.5rem; /* no top margin on mobile either */
    }

    .filter-area[b-yx2wvzjw42] {
        margin: 0.5rem 0.75rem;
    }

    .main-content[b-yx2wvzjw42] {
        padding: 0 0.75rem 1rem;
    }

    .filter-panel-grid[b-yx2wvzjw42] {
        grid-template-columns: 1fr;
    }

    /* Hide the desktop grid and show the mobile list */
    .schedule-grid[b-yx2wvzjw42] {
        display: none;
    }

    .mobile-schedule-list[b-yx2wvzjw42] {
        display: flex;
        flex-direction: column;
        gap: 1rem;
    }

    .mobile-day-header[b-yx2wvzjw42] {
        font-size: 1.1rem;
        font-weight: 700;
        padding: 0.5rem 0;
        border-bottom: 2px solid var(--border-color);
        margin-bottom: 0.5rem;
    }

    .mobile-game-card[b-yx2wvzjw42] {
        background: var(--surface-bg);
        border: 1px solid var(--border-color);
        border-radius: 10px;
        padding: 0.75rem;
        display: flex;
        flex-direction: column;
        gap: 0.75rem;
        position: relative;
        transition: opacity var(--transition-base);
    }

        .mobile-game-card.is-live[b-yx2wvzjw42] {
            border-left: 4px solid var(--live-bg);
        }

        .mobile-game-card.is-completed[b-yx2wvzjw42] {
            opacity: 0.6;
        }

    .mobile-game-info[b-yx2wvzjw42] {
        display: flex;
        justify-content: space-between;
        font-size: 0.8rem;
        font-weight: 600;
        color: var(--text-muted);
    }

    .mobile-matchup[b-yx2wvzjw42] {
        display: flex;
        flex-direction: column;
        gap: 0.5rem;
    }

    .mobile-team[b-yx2wvzjw42] {
        display: flex;
        align-items: center;
        gap: 0.75rem;
    }

    .mobile-team-color-bar[b-yx2wvzjw42] {
        width: 4px;
        height: 24px;
        border-radius: 2px;
    }

    .mobile-team-name[b-yx2wvzjw42] {
        font-size: 1rem;
        font-weight: 500;
        color: var(--text-primary);
    }
}

/* Desktop View */
@media (min-width: 769px) {
    .schedule-table-container[b-yx2wvzjw42] {
        overflow-x: hidden; /* No scrollbar needed if it fits */
    }
}

.matchup-card .segment[b-yx2wvzjw42] {
    flex: 1 1 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 6px 10px;
    font-weight: 700;
    font-size: 14px;
    line-height: 1.1;
    text-align: center;
    position: relative;
    z-index: 1;
    text-shadow: 0 1px 1px rgba(0,0,0,0.6);
    /* REMOVE color: #fff; */
}
.matchup-card .segment.left[b-yx2wvzjw42] {
    background: var(--away-color, #555);
    color: var(--away-secondary, #fff); /* <-- uses team's secondary color */
}
.matchup-card .segment.right[b-yx2wvzjw42] {
    background: var(--home-color, #333);
    color: var(--home-secondary, #fff); /* <-- uses team's secondary color */
}
/* _content/AllGameTimes/Components/Pages/Test.razor.rz.scp.css */
.my-test-button[b-21rhmebskg] {
    background-color: crimson;
    color: white;
    border: none;
    border-radius: 8px;
    padding: 1rem 2rem;
    font-size: 24px;
    font-weight: bold;
    cursor: pointer;
}
