:root {
            --bg-primary: #0a0e14;
            --bg-secondary: #121820;
            --bg-card: #171f2a;
            --bg-elevated: #1e2836;
            --accent-cyan: #00d4ff;
            --accent-orange: #ff6b35;
            --accent-green: #00ff88;
            --accent-red: #ff4757;
            --accent-yellow: #ffc107;
            --accent-purple: #a855f7;
            --text-primary: #ffffff;
            --text-secondary: #8b9cb3;
            --text-muted: #5a6a7a;
            --border-color: #2a3545;
            --gradient-main: linear-gradient(135deg, #00d4ff 0%, #a855f7 100%);
        }

        * { margin: 0; padding: 0; box-sizing: border-box; }

        body {
            font-family: 'Outfit', sans-serif;
            background: var(--bg-primary);
            color: var(--text-primary);
            min-height: 100vh;
            line-height: 1.6;
        }

        .bg-pattern {
            position: fixed;
            top: 0; left: 0; width: 100%; height: 100%;
            background-image: 
                radial-gradient(ellipse at 20% 20%, rgba(0, 212, 255, 0.08) 0%, transparent 50%),
                radial-gradient(ellipse at 80% 80%, rgba(168, 85, 247, 0.08) 0%, transparent 50%),
                linear-gradient(180deg, var(--bg-primary) 0%, var(--bg-secondary) 100%);
            pointer-events: none;
            z-index: -1;
        }

        .container { max-width: 1600px; margin: 0 auto; padding: 24px; }

        .loading {
            text-align: center;
            padding: 60px 20px;
            color: var(--text-secondary);
        }

        .loading-spinner {
            width: 48px; height: 48px;
            border: 3px solid var(--border-color);
            border-top-color: var(--accent-cyan);
            border-radius: 50%;
            animation: spin 1s linear infinite;
            margin: 0 auto 20px;
        }

        @keyframes spin { to { transform: rotate(360deg); } }

        .error {
            background: rgba(255, 71, 87, 0.1);
            border: 1px solid var(--accent-red);
            border-radius: 12px;
            padding: 20px;
            text-align: center;
            color: var(--accent-red);
        }

        header {
            display: flex;
            justify-content: space-between;
            align-items: center;
            margin-bottom: 32px;
            padding-bottom: 24px;
            border-bottom: 1px solid var(--border-color);
            flex-wrap: wrap;
            gap: 16px;
        }

        .logo-section h1 {
            font-size: 2rem;
            font-weight: 800;
            background: var(--gradient-main);
            -webkit-background-clip: text;
            -webkit-text-fill-color: transparent;
            background-clip: text;
        }

        .logo-section .date { font-family: 'JetBrains Mono', monospace; color: var(--text-secondary); font-size: 0.9rem; margin-top: 4px; }
        .logo-section .model-info { font-size: 0.75rem; color: var(--text-muted); margin-top: 2px; }

        .header-stats { display: flex; gap: 32px; }
        .header-stat { text-align: center; }
        .header-stat .value { font-size: 1.75rem; font-weight: 700; color: var(--accent-cyan); }
        .header-stat .label { font-size: 0.75rem; color: var(--text-muted); text-transform: uppercase; letter-spacing: 1px; }

        .view-nav {
            display: flex;
            justify-content: space-between;
            align-items: center;
            gap: 16px;
            margin-bottom: 24px;
            flex-wrap: wrap;
        }

        .view-nav-copy {
            max-width: 720px;
        }

        .view-nav-kicker {
            font-size: 0.7rem;
            color: var(--accent-green);
            text-transform: uppercase;
            letter-spacing: 1px;
            margin-bottom: 4px;
        }

        .view-nav-title {
            font-size: 1.05rem;
            font-weight: 700;
            color: var(--text-primary);
        }

        .view-nav-subtitle {
            font-size: 0.84rem;
            color: var(--text-secondary);
            margin-top: 4px;
        }

        .view-nav-actions {
            display: inline-flex;
            gap: 10px;
            flex-wrap: wrap;
        }

        .view-nav-link {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            gap: 8px;
            min-width: 170px;
            padding: 12px 16px;
            border-radius: 12px;
            border: 1px solid var(--border-color);
            background: var(--bg-card);
            color: var(--text-secondary);
            text-decoration: none;
            font-size: 0.85rem;
            font-weight: 600;
            letter-spacing: 0.2px;
            transition: all 0.2s;
        }

        .view-nav-link:hover {
            color: var(--text-primary);
            border-color: var(--accent-cyan);
            box-shadow: 0 10px 20px rgba(0, 212, 255, 0.1);
        }

        .view-nav-link.active {
            color: var(--text-primary);
            border-color: rgba(0, 255, 136, 0.5);
            background: linear-gradient(135deg, rgba(0, 255, 136, 0.14) 0%, rgba(0, 212, 255, 0.08) 100%);
            box-shadow: 0 10px 24px rgba(0, 255, 136, 0.08);
        }

        .slate-calendar-section {
            background: var(--bg-card);
            border: 1px solid var(--border-color);
            border-radius: 16px;
            padding: 24px;
            margin-bottom: 32px;
            position: relative;
            overflow: hidden;
        }

        .slate-calendar-section::before {
            content: '';
            position: absolute;
            top: 0; left: 0; right: 0;
            height: 3px;
            background: linear-gradient(135deg, var(--accent-orange) 0%, var(--accent-cyan) 100%);
        }

        .calendar-header {
            display: flex;
            justify-content: space-between;
            align-items: flex-start;
            gap: 16px;
            margin-bottom: 18px;
            flex-wrap: wrap;
        }

        .calendar-kicker {
            font-size: 0.7rem;
            color: var(--accent-orange);
            text-transform: uppercase;
            letter-spacing: 1px;
            margin-bottom: 4px;
        }

        .calendar-title {
            font-size: 1.1rem;
            font-weight: 700;
            color: var(--text-primary);
        }

        .calendar-subtitle {
            font-size: 0.85rem;
            color: var(--text-secondary);
            margin-top: 4px;
            max-width: 720px;
        }

        .calendar-nav {
            display: flex;
            align-items: center;
            gap: 10px;
        }

        .calendar-nav-btn {
            width: 40px;
            height: 40px;
            border-radius: 10px;
            border: 1px solid var(--border-color);
            background: var(--bg-elevated);
            color: var(--text-primary);
            font-size: 1.2rem;
            cursor: pointer;
            transition: all 0.2s;
        }

        .calendar-nav-btn:hover:not(:disabled) {
            border-color: var(--accent-cyan);
            box-shadow: 0 0 12px rgba(0, 212, 255, 0.15);
        }

        .calendar-nav-btn:disabled {
            opacity: 0.35;
            cursor: default;
        }

        .calendar-month-label {
            min-width: 170px;
            text-align: center;
            font-family: 'JetBrains Mono', monospace;
            font-size: 0.95rem;
            color: var(--text-primary);
        }

        .calendar-weekdays,
        .calendar-grid {
            display: grid;
            grid-template-columns: repeat(7, minmax(0, 1fr));
            gap: 10px;
        }

        .calendar-weekdays {
            margin-bottom: 10px;
        }

        .calendar-weekday {
            font-size: 0.7rem;
            color: var(--text-muted);
            text-transform: uppercase;
            letter-spacing: 0.8px;
            text-align: center;
        }

        .calendar-day {
            min-height: 74px;
            border-radius: 12px;
            border: 1px solid var(--border-color);
            background: var(--bg-secondary);
            color: var(--text-primary);
            padding: 10px;
            display: flex;
            flex-direction: column;
            justify-content: space-between;
            align-items: flex-start;
            text-align: left;
            transition: transform 0.2s, border-color 0.2s, box-shadow 0.2s, background 0.2s;
        }

        button.calendar-day {
            width: 100%;
            appearance: none;
            font: inherit;
            cursor: pointer;
        }

        .calendar-day.empty {
            min-height: 0;
            border: none;
            background: transparent;
            padding: 0;
        }

        .calendar-day.unavailable {
            opacity: 0.3;
        }

        .calendar-day.available {
            background: linear-gradient(180deg, rgba(0, 212, 255, 0.08) 0%, rgba(30, 40, 54, 1) 100%);
            border-color: rgba(0, 212, 255, 0.2);
        }

        .calendar-day.available:hover {
            transform: translateY(-2px);
            border-color: var(--accent-cyan);
            box-shadow: 0 10px 22px rgba(0, 212, 255, 0.12);
        }

        .calendar-day.selected {
            border-color: var(--accent-green);
            background: linear-gradient(180deg, rgba(0, 255, 136, 0.14) 0%, rgba(30, 40, 54, 1) 100%);
            box-shadow: 0 0 0 1px rgba(0, 255, 136, 0.18), 0 12px 24px rgba(0, 255, 136, 0.12);
        }

        .calendar-day-number {
            font-family: 'JetBrains Mono', monospace;
            font-size: 1rem;
            font-weight: 700;
        }

        .calendar-day-meta {
            font-size: 0.65rem;
            color: var(--text-muted);
            text-transform: uppercase;
            letter-spacing: 0.9px;
        }

        .calendar-day-status {
            font-size: 0.78rem;
            color: var(--text-secondary);
        }

        .calendar-day.selected .calendar-day-meta,
        .calendar-day.selected .calendar-day-status {
            color: var(--accent-green);
        }

        .calendar-day.is-latest .calendar-day-meta {
            color: var(--accent-yellow);
        }

        .calendar-legend {
            display: flex;
            gap: 18px;
            flex-wrap: wrap;
            align-items: center;
            margin-top: 16px;
        }

        .calendar-legend-item {
            display: flex;
            align-items: center;
            gap: 8px;
            font-size: 0.75rem;
            color: var(--text-secondary);
        }

        .calendar-dot {
            width: 10px;
            height: 10px;
            border-radius: 999px;
            display: inline-block;
        }

        .calendar-dot.available { background: var(--accent-cyan); }
        .calendar-dot.selected { background: var(--accent-green); }
        .calendar-dot.latest { background: var(--accent-yellow); }

        .top-plays-banner {
            background: var(--bg-card);
            border: 1px solid var(--border-color);
            border-radius: 16px;
            padding: 24px;
            margin-bottom: 32px;
            position: relative;
            overflow: hidden;
        }

        .top-plays-banner::before {
            content: '';
            position: absolute;
            top: 0; left: 0; right: 0;
            height: 3px;
            background: var(--gradient-main);
        }

        .top-plays-title {
            font-size: 1.1rem;
            font-weight: 700;
            color: var(--accent-cyan);
            margin-bottom: 16px;
            display: flex;
            align-items: center;
            gap: 8px;
        }

        .top-plays-grid {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
            gap: 16px;
        }

        .top-play-card {
            background: var(--bg-elevated);
            border-radius: 12px;
            padding: 16px;
            display: flex;
            align-items: center;
            gap: 16px;
            cursor: pointer;
            transition: transform 0.2s, box-shadow 0.2s;
        }

        .top-play-card:hover {
            transform: translateY(-2px);
            box-shadow: 0 8px 24px rgba(0, 212, 255, 0.15);
        }

        .play-rank {
            width: 40px; height: 40px;
            background: var(--gradient-main);
            border-radius: 10px;
            display: flex;
            align-items: center;
            justify-content: center;
            font-weight: 700;
            font-size: 1.1rem;
            flex-shrink: 0;
        }

        .play-info { flex: 1; }
        .play-bet-row { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
        .play-bet { font-weight: 600; font-size: 1rem; margin-bottom: 2px; }
        .play-confidence-caption {
            display: inline-flex;
            align-items: center;
            padding: 2px 8px;
            border-radius: 999px;
            background: rgba(0, 255, 136, 0.12);
            border: 1px solid rgba(0, 255, 136, 0.25);
            color: var(--accent-green);
            font-size: 0.68rem;
            font-weight: 600;
            text-transform: uppercase;
            letter-spacing: 0.3px;
        }
        .play-game { font-size: 0.8rem; color: var(--text-secondary); }
        .play-ev { font-size: 0.75rem; color: var(--accent-green); margin-top: 2px; }
        .play-odds { font-family: 'JetBrains Mono', monospace; font-weight: 600; color: var(--accent-green); font-size: 1.1rem; }

        /* Bankroll Section */
        .bankroll-section {
            background: var(--bg-card);
            border: 1px solid var(--border-color);
            border-radius: 16px;
            padding: 24px;
            margin-bottom: 32px;
            position: relative;
            overflow: hidden;
        }

        .bankroll-section::before {
            content: '';
            position: absolute;
            top: 0; left: 0; right: 0;
            height: 3px;
            background: linear-gradient(135deg, var(--accent-green) 0%, var(--accent-cyan) 100%);
        }

        .bankroll-header {
            display: flex;
            justify-content: space-between;
            align-items: flex-start;
            margin-bottom: 20px;
            flex-wrap: wrap;
            gap: 20px;
        }

        .bankroll-title {
            font-size: 1.1rem;
            font-weight: 700;
            color: var(--accent-green);
            display: flex;
            align-items: center;
            gap: 8px;
        }

        .bankroll-input-group { display: flex; align-items: center; gap: 16px; flex-wrap: wrap; }
        .input-wrapper { display: flex; flex-direction: column; gap: 4px; }
        .input-label { font-size: 0.7rem; color: var(--text-muted); text-transform: uppercase; letter-spacing: 0.5px; }

        .bankroll-input {
            background: var(--bg-elevated);
            border: 2px solid var(--border-color);
            border-radius: 8px;
            padding: 10px 16px;
            font-family: 'JetBrains Mono', monospace;
            font-size: 1.1rem;
            color: var(--text-primary);
            width: 160px;
        }

        .bankroll-input:focus { outline: none; border-color: var(--accent-green); }

        .risk-selector { display: flex; gap: 8px; }

        .risk-btn {
            padding: 10px 16px;
            background: var(--bg-elevated);
            border: 2px solid var(--border-color);
            border-radius: 8px;
            color: var(--text-secondary);
            cursor: pointer;
            font-weight: 500;
            font-size: 0.85rem;
            transition: all 0.2s;
        }

        .risk-btn:hover { border-color: var(--accent-cyan); color: var(--text-primary); }
        .risk-btn.active { border-color: var(--accent-green); background: rgba(0, 255, 136, 0.1); color: var(--accent-green); }

        .unit-display {
            background: var(--bg-elevated);
            border-radius: 12px;
            padding: 16px 24px;
            display: flex;
            align-items: center;
            gap: 24px;
            flex-wrap: wrap;
        }

        .unit-stat { text-align: center; }
        .unit-value { font-family: 'JetBrains Mono', monospace; font-size: 1.5rem; font-weight: 700; color: var(--accent-green); transition: color 0.2s; }
        .unit-value.state-positive { color: var(--accent-green); }
        .unit-value.state-warning { color: var(--accent-yellow); }
        .unit-value.state-danger { color: var(--accent-red); }
        .unit-label { font-size: 0.7rem; color: var(--text-muted); text-transform: uppercase; letter-spacing: 0.5px; }
        
        .exposure-warning {
            background: rgba(255, 71, 87, 0.1);
            border: 1px solid var(--accent-red);
            border-radius: 8px;
            padding: 12px 16px;
            margin-top: 16px;
            display: none;
            align-items: center;
            gap: 10px;
            color: var(--accent-red);
            font-size: 0.85rem;
        }
        
        .exposure-warning.visible { display: flex; }
        .exposure-warning svg { flex-shrink: 0; }

        .bet-sizing-grid {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
            gap: 12px;
            margin-top: 20px;
        }

        .performance-section {
            background: var(--bg-card);
            border: 1px solid var(--border-color);
            border-radius: 16px;
            padding: 24px;
            margin-bottom: 32px;
        }

        .performance-header {
            display: flex;
            justify-content: space-between;
            align-items: center;
            gap: 16px;
            margin-bottom: 18px;
            flex-wrap: wrap;
        }

        .performance-title {
            font-size: 1.1rem;
            font-weight: 700;
            color: var(--accent-cyan);
            display: flex;
            align-items: center;
            gap: 8px;
        }

        .performance-subtitle {
            color: var(--text-muted);
            font-size: 0.82rem;
        }

        .performance-grid {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
            gap: 12px;
            margin-bottom: 18px;
        }

        .performance-card {
            background: var(--bg-elevated);
            border: 1px solid var(--border-color);
            border-radius: 12px;
            padding: 16px;
        }

        .performance-card-label {
            font-size: 0.72rem;
            color: var(--text-muted);
            text-transform: uppercase;
            letter-spacing: 0.5px;
            margin-bottom: 8px;
        }

        .performance-card-value {
            font-family: 'JetBrains Mono', monospace;
            font-size: 1.5rem;
            font-weight: 700;
            color: var(--text-primary);
        }

        .performance-card-value.positive { color: var(--accent-green); }
        .performance-card-value.negative { color: var(--accent-red); }
        .performance-card-value.neutral { color: var(--accent-cyan); }

        .performance-panels {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
            gap: 12px;
        }

        .performance-panel {
            background: var(--bg-elevated);
            border: 1px solid var(--border-color);
            border-radius: 12px;
            padding: 16px;
        }

        .performance-panel-title {
            font-size: 0.82rem;
            font-weight: 700;
            text-transform: uppercase;
            letter-spacing: 0.5px;
            color: var(--text-secondary);
            margin-bottom: 12px;
        }

        .performance-row {
            display: flex;
            justify-content: space-between;
            align-items: center;
            gap: 12px;
            padding: 10px 0;
            border-bottom: 1px solid rgba(255, 255, 255, 0.06);
            font-size: 0.9rem;
        }

        .performance-row:last-child { border-bottom: none; }
        .performance-row-label { color: var(--text-secondary); }
        .performance-row-meta { color: var(--text-muted); font-size: 0.8rem; }
        .performance-row-value {
            font-family: 'JetBrains Mono', monospace;
            font-weight: 600;
            color: var(--text-primary);
            text-align: right;
        }

        .performance-row-value.positive { color: var(--accent-green); }
        .performance-row-value.negative { color: var(--accent-red); }
        .performance-row-value.neutral { color: var(--text-primary); }

        .results-section {
            background: var(--bg-card);
            border: 1px solid var(--border-color);
            border-radius: 16px;
            padding: 24px;
            margin-bottom: 32px;
        }

        .results-header {
            display: flex;
            justify-content: space-between;
            align-items: center;
            gap: 16px;
            margin-bottom: 18px;
            flex-wrap: wrap;
        }

        .results-title {
            font-size: 1.1rem;
            font-weight: 700;
            color: var(--accent-yellow);
            display: flex;
            align-items: center;
            gap: 8px;
        }

        .results-subtitle {
            color: var(--text-muted);
            font-size: 0.82rem;
        }

        .results-grid {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
            gap: 12px;
            margin-bottom: 18px;
        }

        .results-card {
            background: var(--bg-elevated);
            border: 1px solid var(--border-color);
            border-radius: 12px;
            padding: 16px;
        }

        .results-card-label {
            font-size: 0.72rem;
            color: var(--text-muted);
            text-transform: uppercase;
            letter-spacing: 0.5px;
            margin-bottom: 8px;
        }

        .results-card-value {
            font-family: 'JetBrains Mono', monospace;
            font-size: 1.5rem;
            font-weight: 700;
            color: var(--text-primary);
        }

        .results-list {
            display: grid;
            gap: 10px;
        }

        .results-row {
            display: flex;
            justify-content: space-between;
            align-items: center;
            gap: 12px;
            background: var(--bg-elevated);
            border: 1px solid var(--border-color);
            border-radius: 12px;
            padding: 14px 16px;
        }

        .results-row-main {
            display: flex;
            flex-direction: column;
            gap: 4px;
            min-width: 0;
        }

        .results-row-label {
            font-size: 0.95rem;
            font-weight: 700;
            color: var(--text-primary);
        }

        .results-row-meta {
            color: var(--text-muted);
            font-size: 0.82rem;
        }

        .results-row-score {
            text-align: right;
            font-family: 'JetBrains Mono', monospace;
            font-size: 1rem;
            font-weight: 700;
            color: var(--text-primary);
            white-space: nowrap;
        }

        .results-row-score .winner {
            color: var(--accent-green);
        }

        .results-row-score.pending {
            color: var(--accent-cyan);
        }

        .results-row-score.win {
            color: var(--accent-green);
        }

        .results-row-score.loss {
            color: var(--accent-red);
        }

        .results-row-score.push,
        .results-row-score.void {
            color: var(--accent-yellow);
        }

        .results-row-score-sub {
            display: block;
            margin-top: 4px;
            font-size: 0.76rem;
            font-weight: 500;
            color: var(--text-muted);
        }

        @media (max-width: 640px) {
            .results-row {
                flex-direction: column;
                align-items: flex-start;
            }

            .results-row-score {
                text-align: left;
                white-space: normal;
            }
        }

        .sized-bet {
            background: var(--bg-elevated);
            border-radius: 10px;
            padding: 14px 16px;
            display: flex;
            justify-content: space-between;
            align-items: center;
            cursor: pointer;
            border: 2px solid transparent;
            transition: all 0.2s;
        }
        
        .sized-bet:hover { border-color: var(--accent-cyan); }
        .sized-bet.selected { 
            border-color: var(--accent-green); 
            background: rgba(0, 255, 136, 0.1);
            box-shadow: 0 0 12px rgba(0, 255, 136, 0.2);
        }
        .sized-bet .select-indicator {
            width: 20px; height: 20px;
            border: 2px solid var(--border-color);
            border-radius: 4px;
            margin-right: 8px;
            display: flex;
            align-items: center;
            justify-content: center;
            flex-shrink: 0;
            transition: all 0.2s;
        }
        .sized-bet.selected .select-indicator {
            background: var(--accent-green);
            border-color: var(--accent-green);
        }
        .sized-bet.selected .select-indicator::after {
            content: '✓';
            color: var(--bg-primary);
            font-size: 12px;
            font-weight: bold;
        }

        .sized-bet-info { display: flex; align-items: center; gap: 12px; }

        .sized-bet-units {
            width: 32px; height: 32px;
            background: var(--gradient-main);
            border-radius: 8px;
            display: flex;
            align-items: center;
            justify-content: center;
            font-weight: 700;
            font-size: 0.85rem;
        }

        .sized-bet-name { font-weight: 500; }
        .sized-bet-game { font-size: 0.75rem; color: var(--text-secondary); }
        .sized-bet-amount { text-align: right; }
        .sized-bet-dollars { font-family: 'JetBrains Mono', monospace; font-weight: 700; font-size: 1.1rem; color: var(--accent-green); }
        .sized-bet-towin { font-size: 0.75rem; color: var(--text-secondary); }
        
        /* Scenario Analysis Section */
        .scenario-section {
            background: var(--bg-card);
            border: 1px solid var(--border-color);
            border-radius: 16px;
            padding: 24px;
            margin-bottom: 32px;
            position: relative;
            overflow: hidden;
        }
        
        .scenario-section::before {
            content: '';
            position: absolute;
            top: 0; left: 0; right: 0;
            height: 3px;
            background: linear-gradient(135deg, var(--accent-purple) 0%, var(--accent-cyan) 100%);
        }
        
        .scenario-header {
            display: flex;
            justify-content: space-between;
            align-items: center;
            margin-bottom: 20px;
            flex-wrap: wrap;
            gap: 16px;
        }
        
        .scenario-title {
            font-size: 1.1rem;
            font-weight: 700;
            color: var(--accent-purple);
            display: flex;
            align-items: center;
            gap: 8px;
        }
        
        .scenario-actions { display: flex; gap: 10px; }

        .parlay-section {
            background: var(--bg-card);
            border: 1px solid var(--border-color);
            border-radius: 16px;
            padding: 24px;
            margin-bottom: 32px;
            position: relative;
            overflow: hidden;
        }

        .parlay-section::before {
            content: '';
            position: absolute;
            top: 0; left: 0; right: 0;
            height: 3px;
            background: linear-gradient(135deg, var(--accent-yellow) 0%, var(--accent-green) 100%);
        }

        .parlay-header {
            display: flex;
            justify-content: space-between;
            align-items: center;
            margin-bottom: 18px;
            flex-wrap: wrap;
            gap: 16px;
        }

        .parlay-title {
            font-size: 1.1rem;
            font-weight: 700;
            color: var(--accent-yellow);
            display: flex;
            align-items: center;
            gap: 8px;
        }

        .parlay-actions,
        .parlay-controls {
            display: flex;
            gap: 10px;
            flex-wrap: wrap;
            align-items: center;
        }

        .parlay-controls {
            justify-content: space-between;
            margin-bottom: 18px;
        }

        .parlay-note {
            color: var(--text-muted);
            font-size: 0.8rem;
            max-width: 720px;
            margin: 0;
        }

        .parlay-grid {
            display: grid;
            grid-template-columns: minmax(0, 1.25fr) minmax(320px, 0.75fr);
            gap: 16px;
        }

        .parlay-leg-pool,
        .parlay-summary-panel {
            background: var(--bg-elevated);
            border-radius: 12px;
            padding: 16px;
            min-width: 0;
        }

        .parlay-leg-list {
            display: grid;
            gap: 10px;
            max-height: 520px;
            overflow-y: auto;
            padding-right: 4px;
        }

        .parlay-leg-option,
        .parlay-selected-leg,
        .parlay-ev-row {
            display: flex;
            justify-content: space-between;
            gap: 12px;
            align-items: center;
        }

        .parlay-leg-option {
            background: var(--bg-card);
            border: 1px solid var(--border-color);
            border-radius: 10px;
            padding: 12px;
            cursor: pointer;
            transition: border-color 0.2s, transform 0.2s, background 0.2s;
        }

        .parlay-leg-option:hover {
            border-color: var(--accent-cyan);
            transform: translateY(-1px);
        }

        .parlay-leg-option.selected {
            border-color: var(--accent-green);
            background: rgba(0, 255, 136, 0.08);
        }

        .parlay-leg-option.same-game-swap {
            border-color: rgba(245, 158, 11, 0.45);
        }

        .parlay-leg-main { min-width: 0; }
        .parlay-leg-name { font-weight: 700; color: var(--text-primary); }
        .parlay-leg-meta { font-size: 0.75rem; color: var(--text-secondary); margin-top: 3px; }
        .parlay-leg-side { text-align: right; display: grid; gap: 6px; justify-items: end; }
        .parlay-leg-odds { font-family: 'JetBrains Mono', monospace; color: var(--accent-green); font-weight: 700; }

        .parlay-add-btn,
        .parlay-remove-btn {
            border: 1px solid var(--border-color);
            border-radius: 6px;
            background: var(--bg-elevated);
            color: var(--text-secondary);
            padding: 5px 10px;
            cursor: pointer;
            font-size: 0.72rem;
        }

        .parlay-add-btn.selected {
            color: var(--accent-green);
            border-color: var(--accent-green);
        }

        .parlay-summary-grid {
            display: grid;
            grid-template-columns: repeat(2, minmax(0, 1fr));
            gap: 10px;
            margin-bottom: 14px;
        }

        .parlay-summary-card {
            background: var(--bg-card);
            border-radius: 10px;
            padding: 12px;
        }

        .parlay-summary-card span {
            display: block;
            color: var(--text-muted);
            font-size: 0.68rem;
            text-transform: uppercase;
            letter-spacing: 0.5px;
            margin-bottom: 5px;
        }

        .parlay-summary-card strong {
            font-family: 'JetBrains Mono', monospace;
            color: var(--text-primary);
            font-size: 1.05rem;
        }

        .parlay-selected-list {
            display: grid;
            gap: 8px;
            margin-bottom: 14px;
        }

        .parlay-selected-leg {
            background: var(--bg-card);
            border-radius: 8px;
            padding: 10px;
            align-items: flex-start;
        }

        .parlay-selected-leg strong,
        .parlay-selected-leg span {
            display: block;
        }

        .parlay-selected-leg span {
            color: var(--text-secondary);
            font-size: 0.75rem;
            margin-top: 3px;
        }

        .parlay-ev-row {
            border-top: 1px solid var(--border-color);
            padding-top: 12px;
            color: var(--text-secondary);
        }

        .parlay-ev-row strong {
            font-family: 'JetBrains Mono', monospace;
        }

        .parlay-empty {
            text-align: center;
            color: var(--text-muted);
            padding: 28px 14px;
        }
        
        .scenario-btn {
            padding: 8px 16px;
            background: var(--bg-elevated);
            border: 1px solid var(--border-color);
            border-radius: 6px;
            color: var(--text-secondary);
            cursor: pointer;
            font-size: 0.8rem;
            transition: all 0.2s;
        }
        
        .scenario-btn:hover { border-color: var(--accent-cyan); color: var(--text-primary); }
        
        .scenario-empty {
            text-align: center;
            padding: 40px 20px;
            color: var(--text-muted);
        }
        
        .scenario-empty-icon { font-size: 2.5rem; margin-bottom: 12px; opacity: 0.5; }
        
        .scenario-grid {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
            gap: 16px;
            margin-bottom: 20px;
        }
        
        .scenario-card {
            background: var(--bg-elevated);
            border-radius: 12px;
            padding: 16px;
            text-align: center;
        }
        
        .scenario-card.best { border: 1px solid var(--accent-green); }
        .scenario-card.worst { border: 1px solid var(--accent-red); }
        .scenario-card.expected { border: 1px solid var(--accent-cyan); }
        
        .scenario-card-label {
            font-size: 0.7rem;
            color: var(--text-muted);
            text-transform: uppercase;
            letter-spacing: 0.5px;
            margin-bottom: 8px;
        }
        
        .scenario-card-value {
            font-family: 'JetBrains Mono', monospace;
            font-size: 1.5rem;
            font-weight: 700;
        }
        
        .scenario-card-value.positive { color: var(--accent-green); }
        .scenario-card-value.negative { color: var(--accent-red); }
        .scenario-card-value.neutral { color: var(--accent-cyan); }
        
        .scenario-card-sub {
            font-size: 0.75rem;
            color: var(--text-secondary);
            margin-top: 4px;
        }
        
        .scenario-breakdown {
            background: var(--bg-elevated);
            border-radius: 12px;
            padding: 16px;
        }
        
        .scenario-breakdown-title {
            font-size: 0.8rem;
            font-weight: 600;
            color: var(--text-secondary);
            margin-bottom: 12px;
            text-transform: uppercase;
            letter-spacing: 0.5px;
        }
        
        .scenario-row {
            display: flex;
            justify-content: space-between;
            align-items: center;
            padding: 10px 0;
            border-bottom: 1px solid var(--border-color);
        }
        
        .scenario-row:last-child { border-bottom: none; }
        
        .scenario-row-label { 
            display: flex;
            align-items: center;
            gap: 8px;
            font-size: 0.85rem;
        }
        
        .scenario-row-prob {
            font-size: 0.75rem;
            color: var(--text-muted);
            background: var(--bg-card);
            padding: 2px 8px;
            border-radius: 4px;
        }
        
        .scenario-row-value {
            font-family: 'JetBrains Mono', monospace;
            font-weight: 600;
        }
        
        .scenario-row-value.positive { color: var(--accent-green); }
        .scenario-row-value.negative { color: var(--accent-red); }
        
        .scenario-stats {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
            gap: 12px;
            margin-top: 16px;
            padding-top: 16px;
            border-top: 1px solid var(--border-color);
        }
        
        .scenario-stat {
            text-align: center;
            padding: 12px;
            background: var(--bg-card);
            border-radius: 8px;
        }
        
        .scenario-stat-value {
            font-family: 'JetBrains Mono', monospace;
            font-size: 1.1rem;
            font-weight: 700;
            color: var(--accent-cyan);
        }
        
        .scenario-stat-label {
            font-size: 0.65rem;
            color: var(--text-muted);
            text-transform: uppercase;
            letter-spacing: 0.5px;
            margin-top: 4px;
        }

        .tabs { display: flex; gap: 8px; margin-bottom: 24px; flex-wrap: wrap; }

        .tab {
            padding: 10px 20px;
            background: var(--bg-card);
            border: 1px solid var(--border-color);
            border-radius: 8px;
            color: var(--text-secondary);
            cursor: pointer;
            font-weight: 500;
            transition: all 0.2s;
        }

        .tab:hover, .tab.active { background: var(--bg-elevated); color: var(--text-primary); border-color: var(--accent-cyan); }
        .tab.active { box-shadow: 0 0 12px rgba(0, 212, 255, 0.3); }

        .games-grid {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(500px, 1fr));
            gap: 24px;
        }

        .player-page-section {
            background: var(--bg-card);
            border: 1px solid var(--border-color);
            border-radius: 16px;
            padding: 24px;
            margin-bottom: 24px;
        }

        .player-page-header {
            display: flex;
            justify-content: space-between;
            align-items: flex-start;
            gap: 16px;
            margin-bottom: 18px;
        }

        .player-page-title {
            font-size: 1.05rem;
            font-weight: 700;
            color: var(--text-primary);
        }

        .player-page-subtitle {
            font-size: 0.84rem;
            color: var(--text-secondary);
            margin-top: 6px;
            max-width: 760px;
        }

        .player-filter-row {
            display: flex;
            gap: 8px;
            flex-wrap: wrap;
            margin-bottom: 18px;
        }

        .player-filter-chip {
            padding: 9px 14px;
            background: var(--bg-elevated);
            border: 1px solid var(--border-color);
            border-radius: 999px;
            color: var(--text-secondary);
            cursor: pointer;
            font-size: 0.82rem;
            font-weight: 600;
            transition: all 0.2s;
        }

        .player-filter-chip:hover {
            color: var(--text-primary);
            border-color: var(--accent-cyan);
        }

        .player-filter-chip.active {
            color: var(--text-primary);
            border-color: rgba(0, 255, 136, 0.55);
            background: linear-gradient(135deg, rgba(0, 255, 136, 0.14) 0%, rgba(0, 212, 255, 0.08) 100%);
        }

        .player-team-grid {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(340px, 1fr));
            gap: 18px;
        }

        .player-team-card {
            background: var(--bg-elevated);
            border: 1px solid var(--border-color);
            border-radius: 14px;
            overflow: hidden;
        }

        .player-team-card-header {
            padding: 16px 18px;
            border-bottom: 1px solid var(--border-color);
            background: rgba(255, 255, 255, 0.02);
        }

        .player-team-card-copy {
            display: grid;
            gap: 3px;
        }

        .player-team-name {
            font-size: 1rem;
            font-weight: 700;
            color: var(--text-primary);
        }

        .player-team-meta,
        .player-team-next {
            font-size: 0.78rem;
            color: var(--text-secondary);
        }

        .player-team-card-body {
            padding: 18px;
        }

        .player-team-section-title {
            font-size: 0.72rem;
            color: var(--accent-orange);
            text-transform: uppercase;
            letter-spacing: 0.9px;
            margin-bottom: 10px;
        }

        .player-team-section-title:not(:first-child) {
            margin-top: 18px;
        }

        .player-availability-list {
            display: grid;
            gap: 10px;
        }

        .player-availability-row {
            display: grid;
            grid-template-columns: minmax(0, 1fr) auto;
            gap: 6px 12px;
            padding: 12px;
            background: rgba(255, 255, 255, 0.02);
            border: 1px solid rgba(255, 255, 255, 0.04);
            border-radius: 10px;
        }

        .player-availability-main {
            min-width: 0;
        }

        .player-availability-name {
            font-size: 0.9rem;
            font-weight: 600;
            color: var(--text-primary);
        }

        .player-availability-meta,
        .player-availability-detail,
        .player-page-empty {
            font-size: 0.78rem;
            color: var(--text-secondary);
        }

        .player-availability-detail {
            grid-column: 1 / -1;
        }

        .player-stat-chip-row {
            grid-column: 1 / -1;
            display: flex;
            flex-wrap: wrap;
            gap: 8px;
        }

        .player-stat-chip {
            display: inline-flex;
            align-items: center;
            gap: 6px;
            padding: 6px 10px;
            border-radius: 999px;
            background: rgba(0, 212, 255, 0.08);
            border: 1px solid rgba(0, 212, 255, 0.16);
            font-size: 0.72rem;
            color: var(--text-secondary);
        }

        .player-stat-chip strong {
            color: var(--text-primary);
            font-size: 0.76rem;
        }

        .player-stat-chip.subtle {
            background: rgba(255, 255, 255, 0.03);
            border-color: rgba(255, 255, 255, 0.08);
        }

        .lineup-source-grid {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
            gap: 14px;
            margin-top: 4px;
        }

        .lineup-source-card {
            background: rgba(255, 255, 255, 0.02);
            border: 1px solid rgba(255, 255, 255, 0.05);
            border-radius: 12px;
            padding: 14px;
            display: grid;
            gap: 12px;
        }

        .lineup-source-header {
            display: flex;
            justify-content: space-between;
            align-items: flex-start;
            gap: 12px;
        }

        .lineup-source-team {
            font-size: 0.92rem;
            font-weight: 700;
            color: var(--text-primary);
        }

        .lineup-source-meta,
        .lineup-source-label,
        .lineup-source-detail {
            font-size: 0.78rem;
            color: var(--text-secondary);
        }

        .lineup-source-label {
            text-transform: uppercase;
            letter-spacing: 0.8px;
            color: var(--accent-orange);
            margin-bottom: 4px;
        }

        .lineup-source-block {
            display: grid;
            gap: 4px;
        }

        .lineup-source-value {
            font-size: 0.9rem;
            font-weight: 600;
            color: var(--text-primary);
        }

        .lineup-source-list {
            display: flex;
            flex-wrap: wrap;
            gap: 8px;
        }

        .lineup-source-note-list {
            display: grid;
            gap: 8px;
        }

        .lineup-source-note {
            display: grid;
            gap: 3px;
            font-size: 0.78rem;
            color: var(--text-secondary);
        }

        .lineup-source-note strong {
            color: var(--text-primary);
            font-size: 0.8rem;
        }

        .lineup-source-pill {
            display: inline-flex;
            padding: 6px 10px;
            border-radius: 999px;
            background: rgba(0, 255, 136, 0.08);
            border: 1px solid rgba(0, 255, 136, 0.18);
            color: var(--text-primary);
            font-size: 0.75rem;
        }

        .lineup-source-link {
            font-size: 0.78rem;
            color: var(--accent-cyan);
            text-decoration: none;
        }

        .lineup-source-link:hover {
            text-decoration: underline;
        }

        .player-page-empty {
            padding: 14px;
            border: 1px dashed var(--border-color);
            border-radius: 10px;
            background: rgba(255, 255, 255, 0.02);
        }

        @media (max-width: 720px) {
            .calendar-weekdays,
            .calendar-grid { gap: 6px; }
            .calendar-day { min-height: 66px; padding: 8px; }
            .calendar-day-status { font-size: 0.72rem; }
            .calendar-month-label { min-width: 0; }
            .odds-market-columns { grid-template-columns: repeat(2, minmax(0, 1fr)); }
        }

        @media (max-width: 640px) { .injuries-groups { grid-template-columns: 1fr; } }
        @media (max-width: 540px) {
            .games-grid { grid-template-columns: 1fr; }
            .odds-toolbar { padding: 18px; }
            .odds-toolbar-header,
            .odds-board-header { flex-direction: column; align-items: flex-start; }
            .odds-market-columns { grid-template-columns: 1fr; }
            .prediction-market-summary-grid { grid-template-columns: 1fr; }
            .prediction-market-panel-head { flex-direction: column; align-items: flex-start; }
            .prediction-market-chart-meta { flex-direction: column; align-items: flex-start; }
            .player-team-grid { grid-template-columns: 1fr; }
        }

        .game-card {
            background: var(--bg-card);
            border: 1px solid var(--border-color);
            border-radius: 16px;
            overflow: hidden;
            transition: transform 0.2s, box-shadow 0.2s;
        }

        .game-card:hover { transform: translateY(-4px); box-shadow: 0 12px 40px rgba(0, 0, 0, 0.4); }
        .game-card.has-edge { border-color: var(--accent-cyan); box-shadow: 0 0 20px rgba(0, 212, 255, 0.1); }
        .game-card.flash-focus { box-shadow: 0 0 30px rgba(0, 212, 255, 0.35), 0 12px 40px rgba(0, 0, 0, 0.4); }

        .game-header {
            background: var(--bg-elevated);
            padding: 16px 20px;
            display: flex;
            justify-content: space-between;
            align-items: center;
        }

        .matchup { display: flex; align-items: center; gap: 12px; }

        .team-badge {
            width: 44px; height: 44px;
            background: var(--bg-card);
            border-radius: 10px;
            display: flex;
            align-items: center;
            justify-content: center;
            font-weight: 700;
            font-size: 0.85rem;
            border: 2px solid var(--border-color);
        }

        .team-badge.away { border-color: var(--accent-orange); color: var(--accent-orange); }
        .team-badge.home { border-color: var(--accent-cyan); color: var(--accent-cyan); }
        .vs-text { color: var(--text-muted); font-size: 0.8rem; font-weight: 600; }
        .game-meta { text-align: right; }
        .game-time { font-family: 'JetBrains Mono', monospace; font-weight: 600; font-size: 1rem; }
        .game-venue { font-size: 0.75rem; color: var(--text-muted); }
        .broadcast-tag { display: inline-block; background: var(--bg-card); padding: 2px 8px; border-radius: 4px; font-size: 0.7rem; color: var(--text-secondary); margin-top: 4px; }

        .game-body { padding: 20px; }

        .edge-badge {
            display: inline-flex;
            align-items: center;
            gap: 6px;
            background: linear-gradient(135deg, rgba(0, 255, 136, 0.15), rgba(0, 212, 255, 0.15));
            border: 1px solid var(--accent-green);
            border-radius: 6px;
            padding: 6px 12px;
            font-size: 0.8rem;
            font-weight: 600;
            color: var(--accent-green);
            margin-bottom: 16px;
        }

        .live-score-strip {
            display: flex;
            align-items: center;
            justify-content: space-between;
            gap: 14px;
            padding: 12px 14px;
            margin-bottom: 16px;
            border-radius: 10px;
            border: 1px solid rgba(139, 156, 179, 0.16);
            background: linear-gradient(135deg, rgba(10, 14, 20, 0.92), rgba(17, 24, 39, 0.92));
        }

        .live-score-strip.live {
            border-color: rgba(0, 212, 255, 0.28);
            box-shadow: inset 0 0 0 1px rgba(0, 212, 255, 0.08);
        }

        .live-score-strip.final {
            border-color: rgba(255, 193, 7, 0.2);
        }

        .live-score-state {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            min-width: 68px;
            padding: 6px 10px;
            border-radius: 999px;
            background: rgba(0, 212, 255, 0.14);
            color: var(--accent-cyan);
            font-size: 0.74rem;
            font-weight: 800;
            letter-spacing: 0.08em;
            text-transform: uppercase;
        }

        .live-score-strip.final .live-score-state {
            background: rgba(255, 193, 7, 0.14);
            color: var(--accent-yellow);
        }

        .live-score-body {
            flex: 1;
            min-width: 0;
            display: flex;
            flex-direction: column;
            gap: 4px;
            text-align: right;
        }

        .live-score-line {
            display: flex;
            justify-content: flex-end;
            align-items: center;
            gap: 10px;
            font-family: 'JetBrains Mono', monospace;
            font-size: 1rem;
            font-weight: 700;
        }

        .live-score-team { color: var(--text-secondary); }
        .live-score-value { color: var(--text-primary); }
        .live-score-meta { color: var(--text-muted); font-size: 0.76rem; }

        .prob-section { margin-bottom: 20px; }
        .prob-header { display: flex; justify-content: space-between; margin-bottom: 8px; }
        .prob-team { font-weight: 600; font-size: 0.9rem; }
        .prob-team.away { color: var(--accent-orange); }
        .prob-team.home { color: var(--accent-cyan); }
        .prob-value { font-family: 'JetBrains Mono', monospace; font-weight: 700; }

        .prob-bar-container { height: 10px; background: var(--bg-elevated); border-radius: 5px; overflow: hidden; }
        .prob-bar-chart { display: block; width: 100%; height: 100%; }
        .prob-bar-segment.away { fill: var(--accent-orange); }
        .prob-bar-segment.home { fill: var(--accent-cyan); }

        .projected-score { background: var(--bg-elevated); border-radius: 10px; padding: 14px; margin-bottom: 16px; text-align: center; }
        .projected-label { font-size: 0.7rem; color: var(--text-muted); text-transform: uppercase; letter-spacing: 1px; margin-bottom: 6px; }
        .projected-value { font-family: 'JetBrains Mono', monospace; font-size: 1.3rem; font-weight: 700; }
        .projected-range { font-size: 0.8rem; color: var(--text-secondary); margin-top: 4px; }

        .odds-toolbar {
            background: var(--bg-card);
            border: 1px solid var(--border-color);
            border-radius: 16px;
            padding: 20px 24px;
            margin-bottom: 24px;
        }

        .odds-toolbar-header {
            display: flex;
            justify-content: space-between;
            align-items: flex-start;
            gap: 16px;
            margin-bottom: 16px;
            flex-wrap: wrap;
        }

        .odds-toolbar-kicker {
            font-size: 0.72rem;
            color: var(--accent-cyan);
            text-transform: uppercase;
            letter-spacing: 1px;
            margin-bottom: 4px;
        }

        .odds-toolbar-title {
            font-size: 1rem;
            font-weight: 700;
            color: var(--text-primary);
        }

        .odds-toolbar-subtitle,
        .odds-toolbar-note {
            font-size: 0.82rem;
            color: var(--text-secondary);
        }

        .odds-toolbar-note {
            margin-top: 14px;
        }

        .source-health-panel {
            background: var(--bg-card);
            border: 1px solid var(--border-color);
            border-radius: 16px;
            padding: 20px 24px;
            margin-bottom: 18px;
        }

        .source-health-header {
            display: flex;
            justify-content: space-between;
            align-items: flex-start;
            gap: 16px;
            margin-bottom: 16px;
            flex-wrap: wrap;
        }

        .source-health-grid {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
            gap: 12px;
        }

        .source-health-item {
            display: flex;
            flex-direction: column;
            gap: 6px;
            padding: 12px 14px;
            border-radius: 12px;
            border: 1px solid var(--border-color);
            background: var(--bg-elevated);
        }

        .source-health-label {
            font-size: 0.72rem;
            color: var(--text-muted);
            text-transform: uppercase;
            letter-spacing: 0.7px;
        }

        .source-health-badge,
        .source-health-alert {
            display: inline-flex;
            align-items: center;
            gap: 6px;
            padding: 6px 10px;
            border-radius: 999px;
            border: 1px solid var(--border-color);
            background: var(--bg-elevated);
            color: var(--text-secondary);
            font-size: 0.76rem;
            font-weight: 600;
        }

        .source-health-badge-healthy { color: var(--accent-green); border-color: rgba(0, 255, 136, 0.45); }
        .source-health-badge-warning,
        .source-health-alert-warning { color: var(--accent-gold); border-color: rgba(245, 158, 11, 0.4); }
        .source-health-badge-danger,
        .source-health-alert-danger { color: #fca5a5; border-color: rgba(239, 68, 68, 0.4); }

        .source-health-callout {
            display: flex;
            gap: 8px;
            flex-wrap: wrap;
            margin-top: 14px;
        }

        .odds-mode-group {
            display: inline-flex;
            gap: 8px;
            flex-wrap: wrap;
        }

        .odds-mode-btn,
        .sportsbook-chip {
            padding: 9px 14px;
            background: var(--bg-elevated);
            border: 1px solid var(--border-color);
            border-radius: 999px;
            color: var(--text-secondary);
            cursor: pointer;
            font-size: 0.82rem;
            font-weight: 600;
            transition: all 0.2s;
        }

        .odds-mode-btn:hover,
        .sportsbook-chip:hover {
            color: var(--text-primary);
            border-color: var(--accent-cyan);
        }

        .odds-mode-btn.active,
        .sportsbook-chip.active {
            color: var(--text-primary);
            border-color: rgba(0, 255, 136, 0.55);
            background: linear-gradient(135deg, rgba(0, 255, 136, 0.14) 0%, rgba(0, 212, 255, 0.08) 100%);
        }

        .sportsbook-chip.disabled {
            opacity: 0.45;
        }

        .odds-toolbar-controls {
            display: flex;
            gap: 16px;
            flex-wrap: wrap;
            align-items: flex-end;
            margin-top: 10px;
        }

        .odds-field {
            display: flex;
            flex-direction: column;
            gap: 6px;
            min-width: 220px;
        }

        .odds-field-label {
            font-size: 0.72rem;
            color: var(--text-muted);
            text-transform: uppercase;
            letter-spacing: 0.7px;
        }

        .odds-select {
            appearance: none;
            background: var(--bg-elevated);
            border: 1px solid var(--border-color);
            border-radius: 10px;
            color: var(--text-primary);
            padding: 11px 14px;
            font: inherit;
        }

        .odds-select:focus {
            outline: none;
            border-color: var(--accent-cyan);
        }

        .sportsbook-chip-list {
            display: flex;
            gap: 10px;
            flex-wrap: wrap;
            margin-top: 14px;
        }

        .odds-board {
            margin-bottom: 16px;
        }

        .odds-board-header {
            display: flex;
            justify-content: space-between;
            align-items: center;
            gap: 12px;
            margin-bottom: 10px;
            flex-wrap: wrap;
        }

        .odds-board-title {
            font-size: 0.75rem;
            color: var(--text-muted);
            text-transform: uppercase;
            letter-spacing: 1px;
        }

        .odds-board-source {
            font-size: 0.8rem;
            color: var(--accent-cyan);
            font-weight: 600;
        }

        .odds-board-meta {
            font-size: 0.78rem;
            color: var(--text-muted);
            margin-bottom: 10px;
        }

        .odds-market-columns { display: grid; gap: 12px; margin-bottom: 12px; align-items: start; }
        .odds-market-columns-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
        .odds-market-columns-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
        .odds-market-column { display: flex; flex-direction: column; gap: 8px; min-width: 0; }
        .odds-market-title { font-size: 0.7rem; color: var(--text-muted); text-transform: uppercase; letter-spacing: 0.5px; font-weight: 600; }
        .odds-market-grid { display: grid; grid-template-columns: 1fr; gap: 10px; }
        .odds-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; margin-bottom: 12px; }
        .odds-item { background: var(--bg-elevated); border-radius: 8px; padding: 12px; text-align: center; min-height: 92px; display: flex; flex-direction: column; justify-content: center; }
        .odds-label { font-size: 0.7rem; color: var(--text-muted); text-transform: uppercase; letter-spacing: 0.5px; margin-bottom: 6px; min-height: 2.2em; display: flex; align-items: center; justify-content: center; text-align: center; }
        .odds-value { font-family: 'JetBrains Mono', monospace; font-weight: 600; font-size: 0.95rem; }
        .odds-value.positive { color: var(--accent-green); }
        .odds-value.negative { color: var(--accent-red); }
        .odds-value.neutral { color: var(--text-primary); }
        .odds-value.unavailable { color: var(--text-muted); }
        .odds-meta { margin-top: 6px; font-size: 0.72rem; color: var(--text-muted); }
        .prediction-market-panel-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 12px; }
        .prediction-market-context { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; min-width: 0; }
        .prediction-market-range-pill { display: inline-flex; align-items: center; padding: 3px 10px; border-radius: 999px; background: rgba(0, 212, 255, 0.12); color: var(--accent-cyan); font-size: 0.7rem; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; }
        .prediction-market-context-note { font-size: 0.72rem; color: var(--text-muted); }
        .prediction-market-summary-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin-bottom: 12px; }
        .prediction-market-team { background: var(--bg-elevated); border-radius: 10px; padding: 12px; min-width: 0; }
        .prediction-market-team-header { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; margin-bottom: 4px; }
        .prediction-market-team-label { font-size: 0.72rem; color: var(--text-muted); text-transform: uppercase; letter-spacing: 0.5px; font-weight: 600; }
        .prediction-market-team-value { font-family: 'JetBrains Mono', monospace; font-weight: 800; font-size: 1.65rem; line-height: 1; letter-spacing: -0.03em; }
        .prediction-market-team-value-away { color: var(--accent-orange); }
        .prediction-market-team-value-home { color: var(--accent-cyan); }
        .prediction-market-team-meta { margin-top: 4px; font-size: 0.7rem; color: rgba(208, 215, 222, 0.65); }
        .prediction-market-chart-meta { display: flex; justify-content: space-between; gap: 12px; margin-bottom: 8px; font-size: 0.72rem; color: var(--text-muted); }
        .prediction-market-chart-wrap { background: linear-gradient(180deg, rgba(19, 27, 39, 0.9), rgba(15, 22, 33, 0.95)); border: 1px solid rgba(139, 156, 179, 0.12); border-radius: 12px; padding: 12px; cursor: pointer; transition: transform 0.18s ease, box-shadow 0.18s ease, border-color 0.18s ease; }
        .prediction-market-chart-wrap:hover { transform: translateY(-1px); border-color: rgba(0, 212, 255, 0.22); box-shadow: 0 12px 28px rgba(0, 0, 0, 0.22); }
        .prediction-market-chart { width: 100%; height: 120px; display: block; }
        .prediction-market-chart-guide { stroke: rgba(139, 156, 179, 0.35); stroke-width: 1; stroke-dasharray: 2 2; }
        .prediction-market-chart-line-away { fill: none; stroke: var(--accent-orange); stroke-width: 2.2; stroke-linecap: round; stroke-linejoin: round; }
        .prediction-market-chart-line-home { fill: none; stroke: var(--accent-cyan); stroke-width: 2.2; stroke-linecap: round; stroke-linejoin: round; }
        .prediction-market-axis-line { stroke: rgba(139, 156, 179, 0.55); stroke-width: 0.8; }
        .prediction-market-axis-tick { stroke: rgba(139, 156, 179, 0.55); stroke-width: 0.7; }
        .prediction-market-axis-label { fill: var(--text-muted); font-size: 2.8px; font-family: 'JetBrains Mono', monospace; }
        .prediction-market-axis-title { fill: var(--text-secondary); font-size: 2.9px; font-family: 'JetBrains Mono', monospace; font-weight: 600; letter-spacing: 0.2px; }
        .prediction-market-point { opacity: 0; transition: opacity 0.16s ease, transform 0.16s ease; }
        .prediction-market-chart-wrap:hover .prediction-market-point { opacity: 0.4; }
        .prediction-market-point.is-latest, .prediction-market-point.is-sharp { opacity: 1; }
        .prediction-market-point-away { fill: var(--accent-orange); }
        .prediction-market-point-home { fill: var(--accent-cyan); }
        .prediction-market-chart-axis { display: flex; justify-content: space-between; gap: 8px; margin-top: 6px; font-size: 0.68rem; color: var(--text-muted); }
        .prediction-market-chart-empty { font-size: 0.75rem; color: var(--text-muted); }
        .prediction-market-sharp-moves { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 10px; }
        .prediction-market-sharp-chip { display: inline-flex; align-items: center; padding: 4px 9px; border-radius: 999px; background: rgba(255, 193, 7, 0.12); color: var(--accent-yellow); font-size: 0.68rem; font-weight: 600; }
        .prediction-market-depth-toggle { white-space: nowrap; }
        .prediction-market-depth-panel { margin-top: 12px; padding: 12px; border-radius: 12px; background: rgba(10, 14, 20, 0.55); border: 1px solid rgba(139, 156, 179, 0.12); }
        .prediction-market-depth-grid { display: grid; gap: 10px; }
        .prediction-market-depth-row { padding: 10px 12px; border-radius: 10px; background: var(--bg-elevated); }
        .prediction-market-depth-head { display: flex; justify-content: space-between; gap: 10px; align-items: baseline; margin-bottom: 6px; }
        .prediction-market-depth-platform { font-size: 0.68rem; color: var(--text-muted); text-transform: uppercase; letter-spacing: 0.08em; font-weight: 700; }
        .prediction-market-depth-selection { font-size: 0.94rem; color: var(--text-primary); font-weight: 600; }
        .prediction-market-depth-metrics { display: flex; flex-wrap: wrap; gap: 10px; font-family: 'JetBrains Mono', monospace; font-size: 0.78rem; color: var(--text-secondary); margin-bottom: 4px; }
        .prediction-market-live-updated .prediction-market-chart-wrap,
        .prediction-market-live-updated .prediction-market-team { animation: prediction-market-pulse 0.6s ease; }
        @keyframes prediction-market-pulse {
            0% { box-shadow: 0 0 0 rgba(0, 212, 255, 0); }
            35% { box-shadow: 0 0 0 1px rgba(0, 212, 255, 0.22), 0 0 18px rgba(0, 212, 255, 0.12); }
            100% { box-shadow: 0 0 0 rgba(0, 212, 255, 0); }
        }
        .odds-note { font-size: 0.76rem; color: var(--text-muted); }
        .market-tools-panel { background: var(--bg-card); border: 1px solid var(--border-color); border-radius: 12px; padding: 20px; margin-bottom: 24px; box-shadow: var(--shadow-card); }
        .market-tools-header { display: flex; justify-content: space-between; gap: 16px; margin-bottom: 16px; flex-wrap: wrap; }
        .market-tool-summary-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; margin-bottom: 16px; }
        .market-tool-summary-card { background: var(--bg-elevated); border: 1px solid var(--border-color); border-radius: 8px; padding: 12px; display: flex; justify-content: space-between; align-items: center; gap: 8px; min-width: 0; }
        .market-tool-summary-card span { color: var(--text-muted); font-size: 0.72rem; text-transform: uppercase; letter-spacing: 0.5px; }
        .market-tool-summary-card strong { color: var(--text-primary); font-family: 'JetBrains Mono', monospace; font-size: 1rem; }
        .market-tool-columns { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
        .market-tool-list { background: rgba(7, 16, 29, 0.42); border: 1px solid var(--border-color); border-radius: 8px; padding: 12px; min-width: 0; }
        .market-tool-list-title { color: var(--text-primary); font-size: 0.78rem; text-transform: uppercase; letter-spacing: 0.7px; font-weight: 700; margin-bottom: 10px; }
        .market-tool-row, .sportsbook-screen-row { background: var(--bg-elevated); border-radius: 8px; padding: 10px; margin-bottom: 8px; }
        .market-tool-row:last-child, .sportsbook-screen-row:last-child { margin-bottom: 0; }
        .market-tool-row-header, .sportsbook-screen-row { display: flex; justify-content: space-between; align-items: flex-start; gap: 12px; }
        .market-tool-game { color: var(--text-primary); font-size: 0.84rem; font-weight: 700; line-height: 1.25; }
        .market-tool-market { color: var(--text-muted); font-size: 0.72rem; margin-top: 2px; }
        .market-tool-metric, .sportsbook-screen-stat { text-align: right; font-family: 'JetBrains Mono', monospace; white-space: nowrap; }
        .market-tool-metric span, .sportsbook-screen-stat span { display: block; color: var(--text-muted); font-size: 0.62rem; text-transform: uppercase; letter-spacing: 0.4px; margin-bottom: 2px; }
        .market-tool-metric strong, .sportsbook-screen-stat strong { color: var(--text-primary); font-size: 0.92rem; }
        .market-tool-metric-positive strong { color: var(--accent-green); }
        .market-tool-legs { display: grid; gap: 6px; margin-top: 10px; }
        .market-tool-leg { display: flex; justify-content: space-between; align-items: center; gap: 10px; padding: 7px 8px; border-radius: 6px; background: rgba(15, 23, 42, 0.5); }
        .market-tool-leg-main { display: flex; align-items: center; gap: 6px; min-width: 0; flex-wrap: wrap; }
        .market-tool-leg-selection { color: var(--text-primary); font-size: 0.78rem; font-weight: 600; }
        .market-tool-leg-line, .market-tool-leg-book { color: var(--text-muted); font-size: 0.68rem; }
        .market-tool-leg-price { font-family: 'JetBrains Mono', monospace; font-weight: 700; font-size: 0.8rem; }
        .market-tool-leg-price.positive { color: var(--accent-green); }
        .market-tool-leg-price.negative { color: var(--accent-red); }
        .market-tool-leg-price.unavailable { color: var(--text-muted); }
        .market-tool-empty { color: var(--text-muted); background: var(--bg-elevated); border-radius: 8px; padding: 12px; font-size: 0.78rem; }

        @media (max-width: 520px) {
            .market-tool-summary-grid,
            .market-tool-columns {
                grid-template-columns: 1fr;
            }
        }

        .best-bets { background: var(--bg-elevated); border-radius: 10px; padding: 16px; margin-bottom: 16px; }
        .section-title { font-size: 0.75rem; color: var(--text-muted); text-transform: uppercase; letter-spacing: 1px; margin-bottom: 12px; display: flex; align-items: center; gap: 6px; }

        .bet-item { display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 10px 0; border-bottom: 1px solid var(--border-color); }
        .bet-item:last-child { border-bottom: none; padding-bottom: 0; }
        .bet-item:first-child { padding-top: 0; }

        .bet-rank { width: 24px; height: 24px; background: var(--bg-card); border-radius: 6px; display: flex; align-items: center; justify-content: center; font-size: 0.75rem; font-weight: 700; margin-right: 10px; }
        .bet-rank.top { background: var(--gradient-main); }
        .bet-main { display: flex; align-items: center; gap: 8px; flex: 1; min-width: 0; flex-wrap: wrap; }
        .bet-name { font-weight: 500; }
        .bet-sportsbook {
            display: inline-flex;
            align-items: center;
            padding: 2px 8px;
            border-radius: 999px;
            background: rgba(0, 212, 255, 0.08);
            border: 1px solid rgba(0, 212, 255, 0.18);
            color: var(--text-secondary);
            font-size: 0.68rem;
            font-weight: 600;
            letter-spacing: 0;
        }
        .bet-confidence-caption {
            display: inline-flex;
            align-items: center;
            padding: 2px 8px;
            border-radius: 999px;
            background: rgba(255, 193, 7, 0.12);
            border: 1px solid rgba(255, 193, 7, 0.22);
            color: var(--accent-yellow);
            font-size: 0.68rem;
            font-weight: 600;
            text-transform: uppercase;
            letter-spacing: 0.3px;
        }
        .bet-ev { font-size: 0.75rem; color: var(--accent-green); margin-left: 8px; }
        .bet-odds { font-family: 'JetBrains Mono', monospace; font-weight: 600; margin-left: 12px; }

        .collapsible { border-top: 1px solid var(--border-color); }
        .collapsible-header { padding: 14px 0; display: flex; justify-content: space-between; align-items: center; cursor: pointer; transition: color 0.2s; }
        .collapsible-header:hover { color: var(--accent-cyan); }
        .collapsible-title { font-size: 0.8rem; font-weight: 600; text-transform: uppercase; letter-spacing: 0.5px; }
        .collapsible-title-row { display: flex; flex-direction: column; align-items: flex-start; gap: 4px; min-width: 0; }
        .collapsible-meta { font-size: 0.72rem; font-weight: 500; letter-spacing: 0; text-transform: none; color: var(--text-muted); white-space: normal; line-height: 1.3; }
        .collapsible-icon { transition: transform 0.3s; }
        .collapsible.open .collapsible-icon { transform: rotate(180deg); }
        .collapsible-content { max-height: 0; overflow: hidden; transition: max-height 0.3s ease; }
        .collapsible.open .collapsible-content { max-height: 1000px; }
        .collapsible-inner { padding-bottom: 16px; }
        .prediction-markets-collapsible { border-top: none; margin-top: 10px; }

        .stats-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 8px; }
        .stat-row { display: flex; justify-content: space-between; padding: 6px 10px; background: var(--bg-elevated); border-radius: 6px; font-size: 0.8rem; }
        .stat-label { color: var(--text-secondary); }
        .stat-value { font-family: 'JetBrains Mono', monospace; font-weight: 600; }

        .injuries-groups {
            display: grid;
            grid-template-columns: repeat(2, minmax(0, 1fr));
            gap: 12px;
        }

        .injury-team-group {
            display: flex;
            flex-direction: column;
            gap: 8px;
        }

        .injury-team-header {
            display: flex;
            justify-content: space-between;
            align-items: center;
            gap: 8px;
            padding: 8px 10px;
            background: var(--bg-elevated);
            border: 1px solid var(--border-color);
            border-radius: 8px;
        }

        .injury-team-name {
            font-size: 0.78rem;
            font-weight: 700;
            text-transform: uppercase;
            letter-spacing: 0.5px;
            color: var(--text-primary);
        }

        .injury-team-count {
            font-family: 'JetBrains Mono', monospace;
            font-size: 0.75rem;
            color: var(--text-secondary);
        }

        .injuries-list { display: flex; flex-direction: column; gap: 6px; }
        .injury-item { display: flex; align-items: center; gap: 8px; font-size: 0.8rem; padding: 8px 10px; background: var(--bg-elevated); border-radius: 6px; }
        .injury-status { padding: 2px 6px; border-radius: 4px; font-size: 0.65rem; font-weight: 600; text-transform: uppercase; }
        .injury-status.good { background: rgba(46, 204, 113, 0.18); color: #68d391; }
        .injury-status.out { background: rgba(255, 71, 87, 0.2); color: var(--accent-red); }
        .injury-status.dtd { background: rgba(255, 193, 7, 0.2); color: var(--accent-yellow); }
        .injury-player { flex: 1; }
        .injury-detail { color: var(--text-muted); font-size: 0.75rem; }
        .injury-empty {
            padding: 10px;
            background: var(--bg-elevated);
            border-radius: 6px;
            color: var(--text-muted);
            font-size: 0.78rem;
        }

        footer { margin-top: 48px; padding-top: 24px; border-top: 1px solid var(--border-color); text-align: center; color: var(--text-muted); font-size: 0.8rem; }

        ::-webkit-scrollbar { width: 8px; }
        ::-webkit-scrollbar-track { background: var(--bg-secondary); }
        ::-webkit-scrollbar-thumb { background: var(--border-color); border-radius: 4px; }

.dash-auth-shell {
    position: fixed;
    top: 14px;
    right: 14px;
    z-index: 9999;
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 10px 12px;
    border-radius: 999px;
    background: rgba(7, 16, 29, 0.86);
    border: 1px solid rgba(148, 163, 184, 0.24);
    box-shadow: 0 14px 30px rgba(0, 0, 0, 0.28);
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
    font-family: 'JetBrains Mono', monospace;
  }
  .dash-auth-status {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: #e2e8f0;
    font-size: 0.8rem;
    white-space: nowrap;
  }
  .dash-auth-dot {
    width: 9px;
    height: 9px;
    border-radius: 999px;
    background: #22c55e;
    box-shadow: 0 0 12px rgba(34, 197, 94, 0.45);
    flex: 0 0 auto;
  }
  .dash-auth-dot-guest {
    background: #f59e0b;
    box-shadow: 0 0 12px rgba(245, 158, 11, 0.35);
  }
  .dash-auth-actions {
    display: flex;
    align-items: center;
    gap: 8px;
  }
  .dash-auth-form {
    margin: 0;
  }
  .dash-auth-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 34px;
    padding: 0 12px;
    border-radius: 999px;
    text-decoration: none;
    color: #07101d;
    background: #f8fafc;
    font-size: 0.8rem;
    font-weight: 700;
  }
  .dash-auth-button {
    border: 0;
    cursor: pointer;
    font: inherit;
  }
  .dash-auth-link-secondary {
    color: #e2e8f0;
    background: rgba(15, 23, 42, 0.82);
    border: 1px solid rgba(148, 163, 184, 0.26);
  }
  @media (max-width: 720px) {
    .dash-auth-shell {
      left: 12px;
      right: 12px;
      top: 12px;
      justify-content: space-between;
      flex-wrap: wrap;
      border-radius: 18px;
    }
    .dash-auth-shell ~ .container {
      padding-top: 140px !important;
    }
    .dash-auth-actions {
      width: 100%;
      justify-content: stretch;
      flex-wrap: nowrap;
    }
    .dash-auth-status {
      width: 100%;
      overflow: hidden;
      text-overflow: ellipsis;
    }
    .dash-auth-form,
    .dash-auth-link {
      flex: 1 1 0;
    }
  }
  @media (max-width: 480px) {
    .dash-auth-shell {
      padding: 10px;
      gap: 8px;
    }
    .dash-auth-shell ~ .container {
      padding-top: 156px !important;
    }
  }

.empty-bets-message {
    color: var(--text-muted);
    grid-column: 1 / -1;
    text-align: center;
}

.bankroll-selection-hint {
    font-size: 0.8rem;
    color: var(--text-muted);
    margin-top: 16px;
    margin-bottom: 8px;
}

.scenario-empty-note {
    font-size: 0.8rem;
    margin-top: 8px;
}

@media (max-width: 960px) {
    .container { padding: 20px; }
    .header-stats {
        width: 100%;
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 12px;
    }
    .games-grid,
    .top-plays-grid,
    .bet-sizing-grid,
    .parlay-grid,
    .performance-grid,
    .results-grid,
    .performance-panels {
        grid-template-columns: 1fr;
    }
    .scenario-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 720px) {
    .container { padding: 16px; }
    header {
        align-items: flex-start;
        margin-bottom: 24px;
        padding-bottom: 18px;
    }
    .logo-section h1 { font-size: 1.65rem; }
    .header-stat {
        padding: 12px;
        background: var(--bg-card);
        border: 1px solid var(--border-color);
        border-radius: 12px;
    }
    .header-stat .value { font-size: 1.35rem; }
    .view-nav,
    .calendar-header,
    .bankroll-header,
    .performance-header,
    .results-header,
    .scenario-header,
    .parlay-header,
    .odds-toolbar-header,
    .odds-board-header {
        gap: 12px;
    }
    .view-nav-copy { max-width: none; }
    .view-nav-actions,
    .tabs,
    .sportsbook-chip-list {
        flex-wrap: nowrap;
        overflow-x: auto;
        padding-bottom: 4px;
        scrollbar-width: none;
    }
    .view-nav-actions::-webkit-scrollbar,
    .tabs::-webkit-scrollbar,
    .sportsbook-chip-list::-webkit-scrollbar {
        display: none;
    }
    .view-nav-link,
    .tab,
    .sportsbook-chip,
    .odds-mode-btn,
    .player-filter-chip {
        flex: 0 0 auto;
        white-space: nowrap;
    }
    .slate-calendar-section,
    .top-plays-banner,
    .bankroll-section,
    .parlay-section,
    .performance-section,
    .results-section,
    .scenario-section,
    .odds-toolbar {
        padding: 18px;
        margin-bottom: 24px;
    }
    .calendar-header {
        flex-direction: column;
        align-items: stretch;
    }
    .calendar-nav {
        width: 100%;
    }
    .calendar-month-label {
        flex: 1;
        min-width: 0;
    }
    .calendar-weekdays,
    .calendar-grid {
        gap: 6px;
    }
    .calendar-day {
        min-height: 64px;
        padding: 8px;
        border-radius: 10px;
    }
    .top-play-card {
        padding: 14px;
        gap: 12px;
        align-items: flex-start;
    }
    .play-rank {
        width: 34px;
        height: 34px;
        font-size: 0.95rem;
    }
    .play-odds { font-size: 1rem; }
    .bankroll-input-group,
    .unit-display,
    .odds-toolbar-controls,
    .parlay-actions,
    .scenario-actions {
        width: 100%;
    }
    .parlay-actions .scenario-btn,
    .scenario-actions .scenario-btn {
        flex: 1 1 0;
        text-align: center;
    }
    .unit-display {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 12px;
        align-items: stretch;
    }
    .odds-toolbar-controls {
        flex-direction: column;
        align-items: stretch;
        gap: 12px;
    }
    .odds-field {
        min-width: 0;
        width: 100%;
    }
    .odds-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .game-header {
        flex-direction: column;
        align-items: stretch;
        gap: 12px;
        padding: 14px 16px;
    }
    .matchup {
        justify-content: flex-start;
        gap: 10px;
    }
    .team-badge {
        width: 40px;
        height: 40px;
    }
    .game-meta {
        display: grid;
        gap: 4px;
        text-align: left;
    }
    .game-time { font-size: 0.95rem; }
    .game-body { padding: 16px; }
    .prob-header {
        flex-direction: column;
        gap: 8px;
    }
    .prob-team {
        display: flex;
        justify-content: space-between;
        align-items: center;
    }
    .projected-score { padding: 12px; }
    .projected-value { font-size: 1.1rem; }
    .bet-item {
        flex-wrap: wrap;
        align-items: flex-start;
        gap: 6px 10px;
    }
    .bet-main { flex: 1 1 calc(100% - 40px); }
    .bet-ev {
        order: 3;
        margin-left: 34px;
    }
    .bet-odds {
        order: 4;
        margin-left: auto;
    }
    .stats-grid,
    .injuries-groups,
    .player-team-grid {
        grid-template-columns: 1fr;
    }
    .live-score-strip {
        flex-direction: column;
        align-items: stretch;
        gap: 10px;
    }
    .live-score-body {
        text-align: left;
    }
    .live-score-line {
        justify-content: space-between;
        font-size: 0.92rem;
    }
    .stat-row {
        display: grid;
        grid-template-columns: minmax(0, 1fr) auto;
        gap: 12px;
        align-items: start;
    }
    .performance-row,
    .results-row,
    .scenario-row {
        flex-direction: column;
        align-items: flex-start;
    }
    .performance-row-value,
    .results-row-score {
        text-align: left;
        white-space: normal;
    }
}

@media (max-width: 520px) {
    .container { padding: 12px; }
    .logo-section h1 { font-size: 1.38rem; }
    .logo-section .date { font-size: 0.8rem; }
    .header-stats,
    .scenario-grid,
    .parlay-summary-grid,
    .unit-display {
        grid-template-columns: 1fr;
    }
    .view-nav-link,
    .tab,
    .sportsbook-chip,
    .odds-mode-btn,
    .player-filter-chip {
        min-height: 40px;
        padding: 10px 12px;
        font-size: 0.78rem;
    }
    .calendar-day {
        min-height: 54px;
        padding: 7px;
    }
    .calendar-day-meta {
        font-size: 0.58rem;
    }
    .calendar-day-status {
        display: none;
    }
    .calendar-legend {
        gap: 12px;
    }
    .odds-grid {
        grid-template-columns: 1fr;
    }
    .stat-row {
        grid-template-columns: 1fr;
        gap: 6px;
    }
}
