/* Match Detail Overlay */
.match-detail-overlay{position:fixed;inset:0;background:rgba(0,0,0,0.6);z-index:2000;display:flex;align-items:flex-end;justify-content:center}
.match-detail-panel{background:#fff;border-radius:20px 20px 0 0;width:100%;max-width:600px;max-height:85vh;overflow-y:auto;animation:slideUp 0.3s ease}
@keyframes slideUp{from{transform:translateY(100%)}to{transform:translateY(0)}}

.detail-header{display:flex;justify-content:space-between;align-items:flex-start;padding:20px 20px 12px;border-bottom:1px solid #f0f1f4}
.detail-league{font-size:0.7rem;color:#8e8e9a;text-transform:uppercase;letter-spacing:0.5px}
.detail-status{font-size:0.55rem;font-weight:800;padding:2px 8px;border-radius:50px;margin-top:4px;display:inline-block}
.detail-status.live{background:#fef2f2;color:#dc2626}
.detail-status.ft{background:#f0f1f4;color:#8e8e9a}
.detail-status.upcoming{background:#f0fdf4;color:#16a34a}
.detail-close{background:none;border:none;font-size:1.5rem;color:#8e8e9a;cursor:pointer;padding:0;line-height:1}

.detail-scoreboard{display:flex;align-items:center;justify-content:space-around;padding:20px;text-align:center}
.detail-team{flex:1}
.detail-crest{width:48px;height:48px;border-radius:50%;background:#f0f1f4;display:flex;align-items:center;justify-content:center;margin:0 auto 8px;font-weight:800;font-size:0.8rem}
.detail-team-name{font-weight:700;font-size:0.85rem}
.detail-score{font-size:2rem;font-weight:900;letter-spacing:-1px}
.detail-score.live{color:#dc2626}

.detail-tabs{display:flex;border-bottom:1px solid #f0f1f4;padding:0 20px;gap:0}
.detail-tab{flex:1;padding:12px;background:none;border:none;border-bottom:2px solid transparent;font-size:0.75rem;font-weight:600;color:#8e8e9a;cursor:pointer;font-family:'Inter',sans-serif;transition:all 0.2s}
.detail-tab.active{color:#1a1a2e;border-bottom-color:#1a1a2e}

.detail-tab-content{padding:16px 20px}
.stat-row{display:flex;justify-content:space-between;align-items:center;padding:8px 0;font-size:0.8rem;font-weight:600}
.stat-label{color:#8e8e9a;font-weight:500}
.stat-bar-row{display:flex;align-items:center;gap:6px;padding:4px 0 12px}
.stat-bar-fill{height:6px;border-radius:3px}
.stat-bar-fill.home{background:#1a1a2e}
.stat-bar-fill.away{background:#e8eaed}
.stat-pct{font-size:0.6rem;color:#8e8e9a;font-weight:700;min-width:30px;text-align:center}

.lineup-title{font-weight:700;font-size:0.8rem;margin-bottom:8px;padding-bottom:6px;border-bottom:1px solid #f0f1f4}
.lineup-col{margin-bottom:16px}
.lineup-player{display:flex;align-items:center;gap:8px;padding:5px 0;font-size:0.75rem}
.player-num{width:22px;height:22px;border-radius:50%;background:#f0f1f4;display:flex;align-items:center;justify-content:center;font-size:0.6rem;font-weight:700;flex-shrink:0}
.player-pos{color:#8e8e9a;font-size:0.6rem;margin-left:auto}

.h2h-title{font-weight:700;font-size:0.85rem;margin-bottom:12px}
.h2h-row{display:flex;justify-content:space-between;align-items:center;padding:8px 0;border-bottom:1px solid #f0f1f4;font-size:0.75rem;color:#8e8e9a}
.h2h-score{color:#1a1a2e;font-weight:600}

.league-body.collapsed{display:none}
        *{margin:0;padding:0;box-sizing:border-box}
        body{font-family:'Inter',sans-serif;background:#e8eaed;color:#1a1a2e;min-height:100vh}
        
        .live-header{background:#fff;border-bottom:1px solid #e8eaed;padding:16px 20px;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px}
        .live-title{font-size:1.2rem;font-weight:800;display:flex;align-items:center;gap:8px}
        .live-dot{width:10px;height:10px;background:#dc2626;border-radius:50%;animation:pulse 1.2s infinite}
        @keyframes pulse{0%,100%{opacity:1;box-shadow:0 0 0 0 rgba(220,38,38,0.4)}50%{opacity:0.5;box-shadow:0 0 0 10px rgba(220,38,38,0)}}
        .live-count{font-size:0.7rem;color:#8e8e9a;font-weight:600}
        .live-actions{display:flex;gap:8px;flex-wrap:wrap}
        .filter-chip{padding:6px 14px;border-radius:50px;border:1.5px solid #e8eaed;background:#fff;font-size:0.7rem;font-weight:600;cursor:pointer;font-family:'Inter',sans-serif;transition:all 0.2s;color:#8e8e9a}
        .filter-chip:hover,.filter-chip.active{background:#1a1a2e;color:#fff;border-color:#1a1a2e}
        
        .matches-container{padding:16px;max-width:900px;margin:0 auto}
        .league-section{margin-bottom:20px}
        .league-header{display:flex;align-items:center;gap:10px;padding:12px 16px;background:#fff;border-radius:14px 14px 0 0;border:1px solid #f0f1f4;border-bottom:none;font-weight:700;font-size:0.85rem}
        .league-flag{font-size:1.2rem}
        
        .match-card{background:#fff;border:1px solid #f0f1f4;border-top:none;padding:14px 16px;display:flex;align-items:center;justify-content:space-between;transition:all 0.2s;cursor:default}
        .match-card:last-child{border-radius:0 0 14px 14px}
        .match-card:hover{background:#f8f9fc}
        .match-card:only-child{border-radius:0 0 14px 14px}
        
        .match-teams-col{flex:1;min-width:0}
        .match-team{display:flex;align-items:center;gap:8px;font-weight:600;font-size:0.9rem;padding:2px 0}
        .match-team img{width:20px;height:20px;object-fit:contain}
        .match-team .team-crest{width:20px;height:20px;border-radius:50%;background:#f0f1f4;display:flex;align-items:center;justify-content:center;font-size:0.6rem;font-weight:800;flex-shrink:0}
        
        .match-score-col{text-align:center;min-width:70px}
        .match-score{font-size:1.4rem;font-weight:900;letter-spacing:-1px;color:#1a1a2e}
        .match-score.live{color:#dc2626}
        .match-minute{font-size:0.6rem;color:#dc2626;font-weight:700;text-transform:uppercase}
        .match-minute.ft{color:#8e8e9a}
        .match-time-info{font-size:0.65rem;color:#8e8e9a;margin-top:2px}
        
        .match-status-col{text-align:right;min-width:50px}
        .status-badge{font-size:0.6rem;font-weight:700;padding:3px 8px;border-radius:50px;text-transform:uppercase}
        .status-badge.live{background:#fef2f2;color:#dc2626}
        .status-badge.ft{background:#f0f1f4;color:#8e8e9a}
        .status-badge.upcoming{background:#f0fdf4;color:#16a34a}
        
        .loading-state{text-align:center;padding:60px 20px;color:#8e8e9a}
        .loading-state i{font-size:2rem;margin-bottom:12px;animation:spin 1s linear infinite}
        @keyframes spin{to{transform:rotate(360deg)}}
        
        .empty-state{text-align:center;padding:60px 20px;color:#8e8e9a}
        .empty-state i{font-size:3rem;display:block;margin-bottom:12px;opacity:0.4}
        
        @media(max-width:480px){
            .live-header{padding:12px 14px}
            .live-title{font-size:1rem}
            .matches-container{padding:10px}
            .match-card{padding:12px}
            .match-team{font-size:0.8rem}
            .match-score{font-size:1.2rem}
        }