    .mlb-nav-btn { display: inline-block; font-size: 0.85rem; padding: 0.25rem 0.6rem; font-weight: 600; color: rgba(255,255,255,0.85) !important; background: none; border: none; border-bottom: 2px solid transparent; white-space: nowrap; text-decoration: none; line-height: 1.5; transition: color 0.15s, border-color 0.15s; margin: 0 0.1rem; }
    .mlb-nav-btn:hover { color: #fff !important; text-decoration: none; }
    .mlb-nav-btn.active { color: #fff !important; border-bottom-color: #fff; }
    .mlb-page-nav { -webkit-overflow-scrolling: touch; scrollbar-width: none; }
    .mlb-page-nav::-webkit-scrollbar { display: none; }
    @media (max-width: 576px) { .mlb-nav-btn { font-size: 0.78rem; padding: 0.2rem 0.5rem; } }
    /* ====================================================
       SPORT TOGGLE (mirrored from correlated-parlays cp-)
       ==================================================== */
    .sc-sport-toggle {
        display: inline-flex;
        gap: 0.35rem;
        background: #dee2e6;
        border-radius: 10px;
        padding: 4px;
        border: 1px solid #ced4da;
    }
    .sc-sport-btn {
        border: none;
        background: transparent;
        color: #495057;
        font-weight: 700;
        font-size: 0.9rem;
        padding: 0.45rem 1.5rem;
        border-radius: 8px;
        cursor: pointer;
        transition: all 0.2s;
    }
    .sc-sport-btn.active {
        background: #0c2340;
        color: white;
        box-shadow: 0 2px 6px rgba(12,35,64,0.35);
    }
    .sc-sport-btn:hover:not(.active) {
        color: #212529;
        background: rgba(255,255,255,0.7);
    }

    /* Filter toggle (mobile only) */
    .sc-filter-toggle { display: none; }
    .sc-mobile-select { display: none; }
    .sc-filters-body {
        display: flex;
        align-items: center;
        gap: 1rem;
        flex-wrap: wrap;
    }
    .sc-filter-item {
        display: flex;
        align-items: center;
        gap: 0.4rem;
    }
    .sc-filter-label {
        font-size: 0.8rem;
        font-weight: 600;
        color: #495057;
        white-space: nowrap;
    }

    /* ====================================================
       SHARED STYLES  (used by NFL, NBA, and MLB)
       ==================================================== */

    .page-header-subtitle {
        font-size: 0.95rem;
        color: rgba(255, 255, 255, 0.7);
        margin-bottom: 0;
        max-width: 900px;
        margin-left: auto;
        margin-right: auto;
    }

    /* Controls Bar */
    .controls-bar {
        background: rgba(248, 249, 250, 0.97);
        padding: 0.6rem 0.75rem;
        border-radius: 8px;
        box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
        margin-bottom: 1rem;
    }

    .controls-row {
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 0.75rem;
        flex-wrap: wrap;
    }

    .sc-search-wrap, .mlb-search-wrap {
        flex: 0 0 220px;
    }

    .sc-search-wrap .input-group,
    .mlb-search-wrap .input-group {
        border-radius: 0.375rem;
        transition: box-shadow 0.15s ease-in-out;
    }

    .sc-search-wrap .input-group:focus-within,
    .mlb-search-wrap .input-group:focus-within {
        box-shadow: 0 0 0 0.2rem rgba(13, 110, 253, 0.25);
        border-radius: 0.375rem;
    }

    .sc-search-wrap .input-group:focus-within > *,
    .mlb-search-wrap .input-group:focus-within > * {
        border-color: #86b7fe;
    }

    .sc-search-wrap .form-control:focus,
    .mlb-search-wrap .form-control:focus {
        box-shadow: none;
    }

    /* Back to Top */
    .back-to-top-btn {
        position: fixed;
        bottom: 2rem;
        right: 2rem;
        z-index: 200;
        width: 44px;
        height: 44px;
        border-radius: 50%;
        border: none;
        background: #1a1a2e;
        color: white;
        font-size: 1.2rem;
        box-shadow: 0 3px 12px rgba(0, 0, 0, 0.25);
        cursor: pointer;
        opacity: 0;
        visibility: hidden;
        transition: opacity 0.25s, visibility 0.25s, transform 0.15s;
        display: flex;
        align-items: center;
        justify-content: center;
    }

    .back-to-top-btn.visible {
        opacity: 1;
        visibility: visible;
    }

    .back-to-top-btn:hover {
        transform: translateY(-2px);
        box-shadow: 0 5px 16px rgba(0, 0, 0, 0.3);
    }

    /* Labels (legacy, used by old markup) */
    .window-label, .group-label {
        color: #495057;
        font-size: 0.85rem;
        font-weight: 500;
    }

    .sc-search-wrap .input-group-text {
        background: white;
        border-right: none;
        color: #6c757d;
    }

    .sc-search-wrap .form-control {
        border-left: none;
    }

    .sc-search-wrap .form-control:focus {
        box-shadow: none;
        border-color: #1a1a2e;
    }

    .sc-search-wrap .form-control:focus + .btn,
    .sc-search-wrap .form-control:focus ~ .input-group-text {
        border-color: #1a1a2e;
    }

    /* Player Grid */
    .player-grid {
        display: grid;
        grid-template-columns: repeat(auto-fill, minmax(380px, 1fr));
        gap: 0.75rem;
    }

    /* Team View Cards */
    .team-card {
        border: 1px solid #e9ecef;
        border-radius: 12px;
        background: white;
        box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
        overflow: hidden;
    }

    .team-card-header {
        padding: 0.75rem 1rem;
        display: flex;
        align-items: center;
        gap: 0.65rem;
        background: linear-gradient(135deg, #f8f9fa 0%, white 100%);
        border-bottom: 1px solid #e9ecef;
        cursor: pointer;
        user-select: none;
        transition: background 0.15s;
    }

    .team-card-header:hover {
        background: linear-gradient(135deg, #eef0f2 0%, #f8f9fa 100%);
    }

    .team-card-header.collapsed {
        border-bottom: none;
    }

    .team-card-logo {
        width: 40px;
        height: 40px;
        object-fit: contain;
        flex-shrink: 0;
    }

    .team-card-name {
        font-size: 1.1rem;
        font-weight: 700;
    }

    .team-card-count {
        font-size: 0.75rem;
        font-weight: 500;
        color: #6c757d;
        background: #e9ecef;
        padding: 0.2rem 0.6rem;
        border-radius: 12px;
        white-space: nowrap;
        flex-shrink: 0;
    }

    .team-card-pills-preview {
        display: flex;
        flex-wrap: wrap;
        gap: 0.25rem;
        flex: 1;
        overflow: hidden;
        max-height: 28px;
    }

    .team-card-chevron {
        margin-left: auto;
        font-size: 0.85rem;
        color: #6c757d;
        transition: transform 0.25s ease;
        flex-shrink: 0;
    }

    .team-card-header.collapsed .team-card-chevron {
        transform: rotate(-90deg);
    }

    .team-card-body {
        padding: 0.75rem 1rem;
    }

    .team-card.chart-expanded {
        grid-column: 1 / -1;
    }

    .team-player-row {
        padding: 0.6rem 0;
        border-bottom: 1px solid #f0f0f0;
    }

    .team-player-row:last-child {
        border-bottom: none;
    }

    .team-player-name-row {
        display: flex;
        align-items: center;
        gap: 0.5rem;
        margin-bottom: 0.4rem;
    }

    .team-player-name {
        font-size: 0.95rem;
        font-weight: 600;
        color: #212529;
        margin-bottom: 0.4rem;
    }

    .team-player-row.chart-expanded-row {
        /* team view: no grid to span, but handled via parent */
    }

    /* Player Card (tp- prefix, shared by NFL & NBA) */
    .tp-card {
        border: 1px solid #e9ecef;
        border-radius: 12px;
        background: white;
        box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
        overflow: hidden;
    }

    .tp-card-header {
        padding: 0.75rem 1rem;
        display: flex;
        align-items: center;
        gap: 0.65rem;
        background: linear-gradient(135deg, #f8f9fa 0%, white 100%);
        border-bottom: 1px solid #e9ecef;
    }

    .tp-team-logo {
        width: 36px;
        height: 36px;
        object-fit: contain;
        flex-shrink: 0;
    }

    .tp-player-name {
        font-size: 1.05rem;
        font-weight: 700;
        color: #212529;
    }

    .tp-team-name {
        font-size: 0.75rem;
        color: #6c757d;
        font-weight: 500;
        margin-top: 1px;
    }

    .tp-player-pos {
        font-size: 0.7rem;
        font-weight: 700;
        padding: 0.1rem 0.4rem;
        border-radius: 4px;
        color: white;
    }

    .tp-player-pos.qb { background: #1a4d8f; }
    .tp-player-pos.rb { background: #155724; }
    .tp-player-pos.wr { background: #856404; }
    .tp-player-pos.pos-g { background: #1a4d8f; }
    .tp-player-pos.pos-f { background: #155724; }
    .tp-player-pos.pos-c { background: #856404; }
    .tp-player-pos.pos-other { background: #6c757d; }

    .tp-team-tricode {
        font-size: 0.8rem;
        font-weight: 600;
        color: #6c757d;
        margin-left: auto;
        flex-shrink: 0;
    }

    .tp-card-body {
        padding: 0.75rem 1rem;
    }

    .tp-card.chart-expanded {
        grid-column: 1 / -1;
    }

    /* Metric Pills (shared by NFL & NBA) */
    .tp-pills {
        display: flex;
        flex-wrap: wrap;
        gap: 0.4rem;
    }

    .tp-pill {
        display: inline-flex;
        align-items: center;
        gap: 0.3rem;
        padding: 0.3rem 0.6rem;
        border-radius: 20px;
        font-size: 0.82rem;
        font-weight: 500;
        cursor: pointer;
        transition: transform 0.15s, box-shadow 0.15s, filter 0.15s;
        box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12);
    }

    .tp-pill:hover {
        transform: translateY(-2px);
        box-shadow: 0 3px 10px rgba(0, 0, 0, 0.2);
        filter: brightness(0.95);
    }

    .tp-pill:active {
        transform: translateY(0);
        box-shadow: 0 1px 2px rgba(0, 0, 0, 0.15);
    }

    .tp-pill.selected {
        outline: 2.5px solid #0d6efd;
        outline-offset: 1px;
        box-shadow: 0 2px 8px rgba(13, 110, 253, 0.3);
    }

    .tp-pill.positive {
        background: #d4edda;
        color: #155724;
    }

    .tp-pill.negative {
        background: #f8d7da;
        color: #721c24;
    }

    .tp-pill .direction { font-size: 0.72rem; }
    .tp-pill .value { font-weight: 700; }

    .tp-pill .chart-icon {
        font-size: 0.7rem;
        opacity: 0.5;
    }

    .tp-pill:hover .chart-icon { opacity: 1; }

    .tp-pill.locked {
        background: #e9ecef;
        color: #6c757d;
        cursor: pointer;
        font-size: 0.78rem;
    }
    .tp-pill.locked:hover {
        filter: none;
        transform: none;
        box-shadow: 0 1px 3px rgba(0,0,0,0.12);
    }

    /* Inline Chart (shared by NFL & NBA) */
    .tp-chart-container {
        background: #f8f9fa;
        border-radius: 8px;
        padding: 1rem;
        margin-top: 0.75rem;
        display: none;
    }

    .tp-chart-container.active { display: block; }

    .tp-chart-header {
        display: flex;
        align-items: flex-start;
        justify-content: space-between;
        margin-bottom: 0.5rem;
    }

    .tp-chart-header > div {
        text-align: center;
        flex: 1;
    }

    .tp-chart-title {
        font-size: 0.9rem;
        font-weight: 600;
        color: #495057;
    }

    .tp-chart-subtitle {
        font-size: 0.85rem;
        color: #333;
        font-weight: 500;
        line-height: 1.4;
    }

    .tp-chart-canvas-wrap {
        height: 280px;
        position: relative;
    }

    .tp-chart-loading {
        text-align: center;
        padding: 3rem 0;
        color: #6c757d;
    }

    .btn-hide-chart {
        font-size: 0.75rem;
        flex-shrink: 0;
        align-self: flex-start;
        padding: 0.15rem 0.4rem;
        line-height: 1;
        border-radius: 50%;
        width: 24px;
        height: 24px;
        display: flex;
        align-items: center;
        justify-content: center;
    }

    /* Section Headers (shared) */
    .section-header {
        display: flex;
        align-items: center;
        gap: 0.5rem;
        padding: 0.75rem 1rem;
        border-radius: 8px;
        margin-bottom: 1rem;
    }

    .trending-up-header {
        background: linear-gradient(135deg, #d4edda 0%, #e8f5e9 100%);
        border: 1px solid #c3e6cb;
    }

    .trending-down-header {
        background: linear-gradient(135deg, #f8d7da 0%, #fce4ec 100%);
        border: 1px solid #f5c6cb;
    }

    .section-icon {
        font-size: 1rem;
    }

    .trending-up-header .section-icon { color: #155724; }
    .trending-down-header .section-icon { color: #721c24; }

    .section-title {
        font-size: 1.25rem;
        font-weight: 700;
        margin: 0;
    }

    .trending-up-header .section-title { color: #155724; }
    .trending-down-header .section-title { color: #721c24; }

    .section-count {
        font-size: 0.8rem;
        font-weight: 500;
        padding: 0.15rem 0.5rem;
        border-radius: 12px;
        margin-left: auto;
    }

    .trending-up-header .section-count { background: #155724; color: white; }
    .trending-down-header .section-count { background: #721c24; color: white; }

    .trending-section { margin-bottom: 1.5rem; }

    /* Show More Button (shared) */
    .show-more-btn {
        display: block;
        margin: 0.75rem auto;
        font-size: 0.85rem;
        font-weight: 500;
        padding: 0.4rem 1.25rem;
        border-radius: 20px;
    }

    /* Jump Links (shared) */
    .jump-links-row {
        display: flex;
        justify-content: center;
        gap: 0.5rem;
        margin-top: 0.5rem;
        padding-top: 0.5rem;
        border-top: 1px solid #e0e0e0;
    }

    .pv-jump-btn {
        font-size: 0.85rem;
        font-weight: 600;
        padding: 0.4rem 1.25rem;
        border-radius: 20px;
        border: 2px solid;
        cursor: pointer;
        transition: all 0.15s;
        background: white;
    }

    .pv-jump-btn span {
        font-weight: 500;
        opacity: 0.7;
    }

    /* ====================================================
       NFL-SPECIFIC STYLES
       ==================================================== */

    .nfl-window-btn.active, .nfl-pos-btn.active, .nfl-group-btn.active {
        background: #013369;
        border-color: #013369;
        color: white;
        font-weight: 600;
    }

    /* Position Badge (NFL) */
    .pos-badge {
        font-size: 0.65rem;
        font-weight: 700;
        padding: 0.1rem 0.4rem;
        border-radius: 4px;
        color: white;
        letter-spacing: 0.03em;
    }

    .pos-badge.qb { background: #1a4d8f; }
    .pos-badge.rb { background: #155724; }
    .pos-badge.wr { background: #856404; }

    /* ====================================================
       NBA-SPECIFIC STYLES
       ==================================================== */

    .nba-window-btn.active, .nba-group-btn.active {
        background: #1d428a;
        border-color: #1d428a;
        color: white;
        font-weight: 600;
    }

    /* Jump link colors (NBA) */
    .up-jump {
        color: #155724;
        border-color: #155724;
    }

    .up-jump:hover {
        background: #155724;
        color: white;
    }

    .down-jump {
        color: #721c24;
        border-color: #721c24;
    }

    .down-jump:hover {
        background: #721c24;
        color: white;
    }

    /* ====================================================
       MLB-SPECIFIC STYLES
       ==================================================== */

    /* MLB Search Wrap */
    .mlb-search-wrap {
        width: 280px;
    }

    .mlb-search-wrap .input-group-text {
        background: white;
        border-right: none;
        color: #6c757d;
    }

    .mlb-search-wrap .form-control {
        border-left: none;
    }

    .mlb-search-wrap .form-control:focus {
        box-shadow: none;
    }

    /* MLB Pitcher/Batter Section Headers */
    .pitcher-header {
        background: linear-gradient(135deg, #d6e4f0 0%, #e8f0f8 100%);
        border: 1px solid #b8d4e8;
    }
    .pitcher-header .section-icon { color: #0c2340; }
    .pitcher-header .section-title { color: #0c2340; }
    .pitcher-header .section-count { background: #0c2340; color: white; }

    .batter-header {
        background: linear-gradient(135deg, #f0e6d6 0%, #f8f0e8 100%);
        border: 1px solid #e8d4b8;
    }
    .batter-header .section-icon { color: #8b4513; }
    .batter-header .section-title { color: #8b4513; }
    .batter-header .section-count { background: #8b4513; color: white; }

    /* MLB Jump Link Colors */
    .pitcher-jump {
        color: #0c2340;
        border-color: #0c2340;
    }
    .pitcher-jump:hover {
        background: #0c2340;
        color: white;
    }
    .batter-jump {
        color: #8b4513;
        border-color: #8b4513;
    }
    .batter-jump:hover {
        background: #8b4513;
        color: white;
    }

    /* MLB Active Buttons */
    .mlb-group-btn.active {
        background: #0c2340;
        border-color: #0c2340;
        color: white;
        font-weight: 600;
    }


    /* Game Cards (MLB game/matchup view) */
    .game-card {
        border: 1px solid #e9ecef;
        border-radius: 12px;
        background: white;
        margin-bottom: 0.75rem;
        box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
        overflow: hidden;
        height: 100%;
    }

    .game-card-header {
        padding: 0.75rem 1.25rem;
        background: linear-gradient(135deg, #f8f9fa 0%, white 100%);
        border-bottom: 2px solid #e9ecef;
        display: flex;
        align-items: center;
        gap: 0.75rem;
        cursor: pointer;
        user-select: none;
        transition: background 0.15s;
        min-height: 72px;
    }

    .game-card-header:hover {
        background: linear-gradient(135deg, #eef0f2 0%, #f8f9fa 100%);
    }

    .game-card-header.collapsed {
        border-bottom: none;
    }

    .game-card-body {
        padding: 1rem 1.25rem;
    }

    .header-chevron {
        margin-left: auto;
        font-size: 0.85rem;
        color: #6c757d;
        transition: transform 0.25s ease;
        flex-shrink: 0;
    }

    .game-card-header.collapsed .header-chevron {
        transform: rotate(-90deg);
    }

    .change-count-badge {
        font-size: 0.75rem;
        font-weight: 500;
        color: #6c757d;
        background: #e9ecef;
        padding: 0.2rem 0.6rem;
        border-radius: 12px;
        white-space: nowrap;
        flex-shrink: 0;
    }

    .header-preview-pills {
        display: flex;
        gap: 0.35rem;
        flex-wrap: nowrap;
        align-items: center;
        overflow: hidden;
        min-width: 0;
        position: relative;
        mask-image: linear-gradient(to right, black calc(100% - 2rem), transparent);
        -webkit-mask-image: linear-gradient(to right, black calc(100% - 2rem), transparent);
    }

    .game-card-header:not(.collapsed) .header-preview-pills {
        display: none;
    }

    .preview-pill {
        font-size: 0.7rem;
        font-weight: 600;
        padding: 0.15rem 0.5rem;
        border-radius: 12px;
        white-space: nowrap;
        flex-shrink: 0;
    }

    .preview-pill.positive {
        background: #d4edda;
        color: #155724;
    }

    .preview-pill.negative {
        background: #f8d7da;
        color: #721c24;
    }

    .preview-pill.neutral {
        background: #e2e3e5;
        color: #383d41;
    }

    .preview-pill.more {
        background: transparent;
        color: #6c757d;
        padding: 0.15rem 0.25rem;
        font-weight: 500;
    }

    .team-logo {
        width: 40px;
        height: 40px;
        object-fit: contain;
        flex-shrink: 0;
    }

    .team-abbr {
        font-size: 1.5rem;
        font-weight: 700;
        color: #212529;
        flex-shrink: 0;
    }

    /* MLB Inline Chart (game view) */
    .inline-chart-container {
        background: #f8f9fa;
        border-radius: 8px;
        padding: 1rem;
        margin-bottom: 1rem;
        display: none;
    }

    .inline-chart-container.active {
        display: block;
    }

    .inline-chart-header {
        display: flex;
        align-items: flex-start;
        justify-content: space-between;
        margin-bottom: 0.5rem;
    }

    .inline-chart-header > div {
        text-align: center;
        flex: 1;
    }

    .inline-chart-title {
        font-size: 0.9rem;
        font-weight: 600;
        color: #495057;
    }

    .inline-chart-subtitle {
        font-size: 0.85rem;
        color: #333;
        font-weight: 500;
        line-height: 1.4;
    }

    .inline-chart-canvas-wrap {
        height: 280px;
        position: relative;
    }

    .inline-chart-loading {
        text-align: center;
        padding: 3rem 0;
        color: #6c757d;
    }

    /* MLB Player Sections (game view) */
    .player-section {
        margin-bottom: 1.5rem;
    }

    .player-section:last-child {
        margin-bottom: 0;
    }

    .player-section-title {
        font-size: 1rem;
        font-weight: 600;
        color: #495057;
        margin-bottom: 0.75rem;
        padding-bottom: 0.5rem;
        border-bottom: 1px solid #e9ecef;
    }

    .player-card {
        background: #f8f9fa;
        border-radius: 8px;
        padding: 0.75rem 1rem;
        margin-bottom: 0.75rem;
    }

    .player-card:last-child {
        margin-bottom: 0;
    }

    .player-header {
        display: flex;
        align-items: center;
        justify-content: space-between;
        margin-bottom: 0.5rem;
    }

    .player-name {
        font-size: 1rem;
        font-weight: 600;
        color: #212529;
    }

    /* MLB Metric Changes (game view pills) */
    .metric-changes {
        display: flex;
        flex-wrap: wrap;
        gap: 0.5rem;
    }

    .metric-change {
        display: inline-flex;
        align-items: center;
        gap: 0.35rem;
        padding: 0.35rem 0.65rem;
        border-radius: 20px;
        font-size: 0.85rem;
        font-weight: 500;
        cursor: pointer;
        transition: transform 0.15s, box-shadow 0.15s, filter 0.15s;
        box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12);
    }

    .metric-change:hover {
        transform: translateY(-2px);
        box-shadow: 0 3px 10px rgba(0, 0, 0, 0.2);
        filter: brightness(0.95);
    }

    .metric-change:active {
        transform: translateY(0);
        box-shadow: 0 1px 2px rgba(0, 0, 0, 0.15);
    }

    .metric-change.selected {
        outline: 2.5px solid #0d6efd;
        outline-offset: 1px;
        box-shadow: 0 2px 8px rgba(13, 110, 253, 0.3);
    }

    .metric-change .chart-icon {
        font-size: 0.7rem;
        opacity: 0.5;
    }

    .metric-change:hover .chart-icon {
        opacity: 1;
    }

    .metric-change.positive {
        background: #d4edda;
        color: #155724;
    }

    .metric-change.negative {
        background: #f8d7da;
        color: #721c24;
    }

    .metric-change.neutral {
        background: #e2e3e5;
        color: #383d41;
    }

    .metric-change.locked {
        background: #e9ecef;
        color: #6c757d;
        cursor: pointer;
        font-size: 0.78rem;
    }
    .metric-change.locked:hover {
        filter: none;
        transform: none;
        box-shadow: 0 1px 3px rgba(0,0,0,0.12);
    }

    .metric-change .direction {
        font-size: 0.75rem;
    }

    .metric-change .value {
        font-weight: 700;
    }

    .no-changes {
        color: #6c757d;
        font-style: italic;
        font-size: 0.9rem;
    }

    /* MLB Player View Grid */
    .mlb-player-grid {
        display: grid;
        grid-template-columns: repeat(auto-fill, minmax(380px, 1fr));
        gap: 0.75rem;
    }

    .mlb-pv-card {
        border: 1px solid #e9ecef;
        border-radius: 12px;
        background: white;
        box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
        overflow: hidden;
    }

    .mlb-pv-card-header {
        padding: 0.75rem 1rem;
        display: flex;
        align-items: center;
        gap: 0.65rem;
        background: linear-gradient(135deg, #f8f9fa 0%, white 100%);
        border-bottom: 1px solid #e9ecef;
    }

    .mlb-pv-logo {
        width: 36px;
        height: 36px;
        object-fit: contain;
        flex-shrink: 0;
    }

    .mlb-pv-player-name {
        font-size: 1.05rem;
        font-weight: 700;
        color: #212529;
    }

    .mlb-pv-team {
        font-size: 0.8rem;
        font-weight: 600;
        margin-left: auto;
        flex-shrink: 0;
    }

    .mlb-pv-card-body {
        padding: 0.75rem 1rem;
    }

    .mlb-pv-card.chart-expanded {
        grid-column: 1 / -1;
    }

    /* MLB Player View Inline Chart */
    .mlb-pv-chart-container {
        background: #f8f9fa;
        border-radius: 8px;
        padding: 1rem;
        margin-top: 0.75rem;
        display: none;
    }

    .mlb-pv-chart-container.active { display: block; }

    .mlb-pv-chart-header {
        display: flex;
        align-items: flex-start;
        justify-content: space-between;
        margin-bottom: 0.5rem;
    }

    .mlb-pv-chart-header > div { text-align: center; flex: 1; }

    .mlb-pv-chart-title {
        font-size: 0.9rem;
        font-weight: 600;
        color: #495057;
    }

    .mlb-pv-chart-subtitle {
        font-size: 0.85rem;
        color: #333;
        font-weight: 500;
        line-height: 1.4;
    }

    .mlb-pv-chart-canvas-wrap {
        height: 280px;
        position: relative;
    }

    .mlb-pv-chart-loading {
        text-align: center;
        padding: 3rem 0;
        color: #6c757d;
    }

    /* MLB Jump Link Colors */

    /* MLB Games Container equal-height columns */
    #mlb-gamesContainer {
        align-items: stretch;
    }

    #mlb-gamesContainer > [class*="col-"] {
        display: flex;
        flex-direction: column;
        margin-bottom: 0.75rem;
    }

    #mlb-gamesContainer > [class*="col-"] > .game-card {
        margin-bottom: 0;
    }

    /* ====================================================
       MOBILE STYLES (merged for all sports)
       ==================================================== */
    @media (max-width: 768px) {
        .container-fluid { padding: 1rem 0.5rem; }

        .sc-sport-btn { padding: 0.4rem 1rem; font-size: 0.82rem; }

        .player-grid {
            grid-template-columns: 1fr;
        }

        .tp-pills { flex-direction: column; }

        .tp-pill {
            width: 100%;
            justify-content: center;
        }

        .tp-chart-canvas-wrap { height: 220px; }

        .tp-chart-subtitle {
            font-size: 0.82rem;
            background: #f0f4f8;
            padding: 0.4rem 0.6rem;
            border-radius: 6px;
            margin-top: 0.3rem;
            line-height: 1.5;
        }

        .tp-chart-subtitle .subtitle-part { display: inline; }
        .tp-chart-subtitle .subtitle-sep { display: inline; }
        .tp-chart-subtitle .subtitle-part:not(:first-child) { display: block; margin-top: 0.15rem; }
        .tp-chart-subtitle .subtitle-sep { display: none; }

        .tp-chart-title {
            font-size: 0.85rem;
        }

        .controls-row {
            flex-direction: column;
            gap: 0.5rem;
        }

        .sc-search-wrap { width: 100%; flex: 1 1 100%; }
        .mlb-search-wrap { width: 100%; }

        .sc-filter-toggle {
            display: flex;
            align-items: center;
            gap: 0.35rem;
            border: 1px solid #dee2e6;
            background: white;
            color: #495057;
            font-size: 0.8rem;
            font-weight: 600;
            padding: 0.3rem 0.75rem;
            border-radius: 6px;
            cursor: pointer;
            width: 100%;
            justify-content: center;
        }

        .sc-filter-toggle.open {
            background: #e9ecef;
        }

        .sc-filters-body {
            display: none;
            width: 100%;
        }

        .sc-filters-body.show {
            display: flex;
            flex-direction: column;
            gap: 0.5rem;
            padding-top: 0.25rem;
        }

        .sc-desktop-btns { display: none !important; }
        .sc-mobile-select { display: block; flex: 1; font-size: 0.8rem; }

        .sc-filter-item {
            display: flex;
            align-items: center;
            gap: 0.5rem;
            width: 100%;
        }

        .sc-filter-label {
            min-width: 65px;
            text-align: left;
            font-size: 0.75rem;
            flex-shrink: 0;
        }

        /* MLB controls: keep horizontal on mobile since only 2 items */
        #mlb-controlsBar .controls-row {
            flex-direction: row;
            align-items: center;
        }
        #mlb-controlsBar .mlb-search-wrap {
            flex: 1;
            width: auto;
        }

        /* MLB mobile */
        .header-preview-pills {
            display: none;
        }

        .team-logo {
            width: 32px;
            height: 32px;
        }

        .team-abbr {
            font-size: 1.25rem;
        }

        .metric-changes {
            flex-direction: column;
        }

        .metric-change {
            width: 100%;
            justify-content: center;
        }

        .inline-chart-canvas-wrap {
            height: 220px;
        }

        .inline-chart-subtitle {
            font-size: 0.82rem;
            background: #f0f4f8;
            padding: 0.4rem 0.6rem;
            border-radius: 6px;
            margin-top: 0.3rem;
            line-height: 1.5;
        }

        .mlb-search-wrap { width: 100%; }

        .mlb-player-grid {
            grid-template-columns: 1fr;
        }

        .mlb-pv-chart-canvas-wrap { height: 220px; }

        .mlb-pv-chart-subtitle {
            font-size: 0.82rem;
            background: #f0f4f8;
            padding: 0.4rem 0.6rem;
            border-radius: 6px;
            margin-top: 0.3rem;
            line-height: 1.5;
        }
    }

    @media (max-width: 480px) {
        .container-fluid { padding: 0.5rem 0.25rem; }
    }

    /* MVP Gate CTA Overlay */
    .mvp-gate-cta {
        text-align: center;
        padding: 2rem 1rem;
        margin: 1.5rem 0;
        background: linear-gradient(135deg, rgba(15,52,96,0.05) 0%, rgba(26,26,46,0.08) 100%);
        border: 1px dashed rgba(15,52,96,0.2);
        border-radius: 12px;
    }
    .mvp-gate-cta .gate-icon {
        font-size: 2rem;
        margin-bottom: 0.5rem;
    }
    .mvp-gate-cta .gate-text {
        font-size: 1rem;
        font-weight: 600;
        color: #333;
        margin-bottom: 0.75rem;
    }
    .mvp-gate-cta .gate-btn {
        display: inline-block;
        padding: 0.5rem 1.5rem;
        background: linear-gradient(135deg, #0f3460, #1a1a2e);
        color: #fff;
        border-radius: 8px;
        text-decoration: none;
        font-weight: 600;
        font-size: 0.9rem;
        transition: transform 0.2s, box-shadow 0.2s;
    }
    .mvp-gate-cta .gate-btn:hover {
        transform: translateY(-1px);
        box-shadow: 0 4px 12px rgba(15,52,96,0.3);
        color: #fff;
        text-decoration: none;
    }
