.favorites-page{padding:24px 0}.favorites-header{margin-bottom:24px}.favorites-header h1{align-items:center;color:var(--text-primary);display:flex;font-size:24px;font-weight:700;gap:10px}.favorites-header h1 i{color:#f59e0b}.favorites-tabs{border-bottom:1px solid var(--border-color);display:flex;gap:4px;margin-bottom:24px;padding-bottom:0}.fav-tab{align-items:center;background:none;border:none;border-bottom:2px solid transparent;color:var(--text-secondary);cursor:pointer;display:flex;font-family:inherit;font-size:14px;font-weight:500;gap:6px;margin-bottom:-1px;padding:10px 16px;transition:color .15s,border-color .15s}.fav-tab:hover{color:var(--text-primary)}.fav-tab.active{border-bottom-color:var(--primary);color:var(--primary)}.fav-tab-count{background:var(--bg-tertiary);border-radius:10px;color:var(--text-secondary);font-size:11px;font-weight:600;padding:2px 6px}.fav-tab.active .fav-tab-count{background:var(--primary);color:#fff}.favorites-list{display:flex;flex-direction:column;gap:8px}.fav-match-card{align-items:center;color:inherit;display:grid;gap:12px;grid-template-columns:100px 1fr auto 32px;padding:14px 16px;text-decoration:none;transition:transform .2s,border-color .2s}.fav-match-card:hover{border-color:var(--primary);transform:translateY(-2px)}.fav-match-date{color:var(--text-secondary);font-size:12px;text-align:center}.fav-match-teams{gap:10px}.fav-match-teams,.fav-team{align-items:center;display:flex}.fav-team{color:var(--text-primary);font-size:14px;font-weight:500;gap:8px}.fav-team-logo{height:24px;-o-object-fit:contain;object-fit:contain;width:24px}.fav-match-league,.fav-vs{color:var(--text-muted);font-size:12px}.fav-match-league{align-items:center;display:flex;gap:6px}.fav-league-logo{height:16px;-o-object-fit:contain;object-fit:contain;width:16px}.favorites-grid{display:grid;gap:12px;grid-template-columns:repeat(2,1fr)}.fav-item-card{align-items:center;color:inherit;display:flex;gap:12px;padding:14px 16px;text-decoration:none;transition:transform .2s,border-color .2s}.fav-item-card:hover{border-color:var(--primary);transform:translateY(-2px)}.fav-item-logo{flex-shrink:0;height:40px;-o-object-fit:contain;object-fit:contain;width:40px}.fav-item-info{flex:1;min-width:0}.fav-item-name{color:var(--text-primary);display:block;font-size:15px;font-weight:600}.fav-item-country{align-items:center;color:var(--text-muted);display:flex;font-size:12px;gap:4px;margin-top:2px}.fav-country-flag{border-radius:1px;height:12px;-o-object-fit:cover;object-fit:cover;width:16px}.fav-remove{align-items:center;background:none;border:none;border-radius:var(--radius-sm);color:var(--text-muted);cursor:pointer;display:flex;flex-shrink:0;justify-content:center;padding:6px;transition:color .15s,background .15s}.fav-remove:hover{background:#ef44441a;color:var(--danger)}.fav-empty{color:var(--text-muted);padding:60px 20px;text-align:center}.fav-empty i{font-size:48px;margin-bottom:16px;opacity:.3}.fav-empty p{color:var(--text-secondary);font-size:18px;font-weight:600;margin:0 0 8px}.fav-empty span{font-size:14px}@media(max-width:640px){.fav-match-card{gap:8px;grid-template-columns:1fr 32px}.fav-match-date{grid-column:1;text-align:left}.fav-match-league,.fav-match-teams{grid-column:1}.fav-remove{align-self:center;grid-column:2;grid-row:1/-1}.favorites-grid{grid-template-columns:1fr}}
